Documentation

MIPRE.Foundations.Introspection.AuxiliaryDecisionCompleteness

Completeness of the executable auxiliary predicate #

The semantic acceptance relation implies executable acceptance on the attained prefixes and original-answer cutoffs of the honest strategy.

Only Introspect endpoints claim a full source output.

Equations
Instances For
    theorem MIPRE.Introspection.AuxiliaryDecision.sourceOutput_of_attained {n Q : โ„•} (V : Verifier 7) (hs : V.sampler.dim (2 ^ n) โ‰ค Q) (w : Bool) (y : Fin Q โ†’ CL.๐”ฝโ‚‚) (hy : โˆƒ (x : Fin Q โ†’ CL.๐”ฝโ‚‚), (padded V hs w).eval x = y) :

    Every attained padded output has the required zero suffix.

    theorem MIPRE.Introspection.AuxiliaryDecision.directed_cross_complete {P : Type u_1} [Fintype P] [DecidableEq P] [Cost.SizedEncoding P] {parameters : Parameters} (U : Cost.ClockedUniversalMachine) (X Z : P) (project : Cost.PolyTimeFun (Input P 7) Cost.BitStr) {lam n Q : โ„•} (V : Verifier 7) (hV : V.IsBounded lam) (hn : 1 โ‰ค n) (hs : V.sampler.dim (2 ^ n) โ‰ค Q) (hQ : 4 โ‰ค Q) (hR : 3 * (2 ^ n) ^ lam โ‰ค Q) (x y : Fin Q โ†’ CL.๐”ฝโ‚‚) (a b : Cost.BitStr) (ha : List.length a โ‰ค (2 ^ n) ^ lam) (hb : List.length b โ‰ค (2 ^ n) ^ lam) (hx : SourceCompiler.InSource (V.sampler.dim (2 ^ n)) (CL.toBits x)) (hy : SourceCompiler.InSource (V.sampler.dim (2 ^ n)) (CL.toBits y)) (h : sourcePredicate V hs x y a b = true) :
    theorem MIPRE.Introspection.AuxiliaryDecision.directed_complete {P : Type u_1} [Fintype P] [DecidableEq P] [Cost.SizedEncoding P] {parameters : Parameters} (U : Cost.ClockedUniversalMachine) (X Z : P) (project : Cost.PolyTimeFun (Input P 7) Cost.BitStr) {lam n Q : โ„•} (V : Verifier 7) (hV : V.IsBounded lam) (hn : 1 โ‰ค n) (hs : V.sampler.dim (2 ^ n) โ‰ค Q) (hQ : 4 โ‰ค Q) (hR : 3 * (2 ^ n) ^ lam โ‰ค Q) (ฯ€ : Cost.BitStr โ†’ Fin Q โ†’ CL.๐”ฝโ‚‚) (t u : QuestionType P 7) (a b : ParsedAnswer (Fin Q โ†’ CL.๐”ฝโ‚‚) Cost.BitStr Cost.BitStr) (hfa : TypedPredicate.fits t a = true) (hfb : TypedPredicate.fits u b = true) (ha : answerBound ((2 ^ n) ^ lam) a) (hb : answerBound ((2 ^ n) ^ lam) b) (hga : PrefixGuard.holds (padded V hs) t a) (hgb : PrefixGuard.holds (padded V hs) u b) (hsa : sourceOutput (V.sampler.dim (2 ^ n)) t a) (hsb : sourceOutput (V.sampler.dim (2 ^ n)) u b) (hp : โˆ€ (p : P) (c : Cost.BitStr), p = X โˆจ p = Z โ†’ t = Sum.inl p โ†’ a = ParsedAnswer.pauli c โ†’ project.toFun (canonical V lam n Q ((2 ^ n) ^ lam) parameters t u (AuxiliaryAnswer.bits a) (AuxiliaryAnswer.bits b)) = CL.toBits (ฯ€ c)) (h : AuxiliaryQuotient.directed (padded V hs) X Z ฯ€ (sourcePredicate V hs) t u a b = true) :
    (directed U X Z project).toFun (canonical V lam n Q ((2 ^ n) ^ lam) parameters t u (AuxiliaryAnswer.bits a) (AuxiliaryAnswer.bits b)) = true

    Semantic auxiliary comparisons are executable on correctly tagged, bounded answers whose queried prefixes are attained.

    The executable local scan is exactly the semantic prefix guard.

    theorem MIPRE.Introspection.AuxiliaryDecision.guarded_complete {P : Type u_1} [Fintype P] [DecidableEq P] [Cost.SizedEncoding P] {parameters : Parameters} (U : Cost.ClockedUniversalMachine) (X Z : P) (project : Cost.PolyTimeFun (Input P 7) Cost.BitStr) {lam n Q : โ„•} (V : Verifier 7) (hV : V.IsBounded lam) (hn : 1 โ‰ค n) (hs : V.sampler.dim (2 ^ n) โ‰ค Q) (hQ : 4 โ‰ค Q) (hR : 3 * (2 ^ n) ^ lam โ‰ค Q) (ฯ€ : Cost.BitStr โ†’ Fin Q โ†’ CL.๐”ฝโ‚‚) (DP : P โ†’ P โ†’ Cost.BitStr โ†’ Cost.BitStr โ†’ Bool) (t u : QuestionType P 7) (a b : ParsedAnswer (Fin Q โ†’ CL.๐”ฝโ‚‚) Cost.BitStr Cost.BitStr) (ha : answerBound ((2 ^ n) ^ lam) a) (hb : answerBound ((2 ^ n) ^ lam) b) (hga : PrefixGuard.holds (padded V hs) t a) (hgb : PrefixGuard.holds (padded V hs) u b) (hsa : sourceOutput (V.sampler.dim (2 ^ n)) t a) (hsb : sourceOutput (V.sampler.dim (2 ^ n)) u b) (hpa : โˆ€ (p : P) (c : Cost.BitStr), p = X โˆจ p = Z โ†’ t = Sum.inl p โ†’ a = ParsedAnswer.pauli c โ†’ project.toFun (canonical V lam n Q ((2 ^ n) ^ lam) parameters t u (AuxiliaryAnswer.bits a) (AuxiliaryAnswer.bits b)) = CL.toBits (ฯ€ c)) (hpb : โˆ€ (p : P) (c : Cost.BitStr), p = X โˆจ p = Z โ†’ u = Sum.inl p โ†’ b = ParsedAnswer.pauli c โ†’ project.toFun (canonical V lam n Q ((2 ^ n) ^ lam) parameters u t (AuxiliaryAnswer.bits b) (AuxiliaryAnswer.bits a)) = CL.toBits (ฯ€ c)) (h : AuxiliaryQuotient.check (padded V hs) X Z ฯ€ (sourcePredicate V hs) DP t u a b = true) :
    (guarded U X Z project).toFun (canonical V lam n Q ((2 ^ n) ^ lam) parameters t u (AuxiliaryAnswer.bits a) (AuxiliaryAnswer.bits b)) = true

    Both semantic orientations and their local guards pass the complete executable auxiliary kernel on honest, bounded source outputs.