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.
def
MIPRE.Introspection.AuxiliaryDecision.answerBound
{Q : โ}
(R : โ)
:
ParsedAnswer (Fin Q โ CL.๐ฝโ) Cost.BitStr Cost.BitStr โ Prop
The original answer component is bounded independently of register data.
Equations
- MIPRE.Introspection.AuxiliaryDecision.answerBound R (MIPRE.Introspection.ParsedAnswer.pair y a) = (List.length a โค R)
- MIPRE.Introspection.AuxiliaryDecision.answerBound R (MIPRE.Introspection.ParsedAnswer.read y yp a) = (List.length a โค R)
- MIPRE.Introspection.AuxiliaryDecision.answerBound R xโ = True
Instances For
def
MIPRE.Introspection.AuxiliaryDecision.sourceOutput
{P : Type u_1}
{Q : โ}
(s : โ)
:
QuestionType P 7 โ ParsedAnswer (Fin Q โ CL.๐ฝโ) Cost.BitStr Cost.BitStr โ Prop
Only Introspect endpoints claim a full source output.
Equations
- One or more equations did not get rendered due to their size.
- MIPRE.Introspection.AuxiliaryDecision.sourceOutput s xโยน xโ = True
Instances For
theorem
MIPRE.Introspection.AuxiliaryDecision.valid_bits
{P : Type u_1}
[Fintype P]
[DecidableEq P]
[Cost.SizedEncoding P]
{Q R : โ}
(t : QuestionType P 7)
(a : ParsedAnswer (Fin Q โ CL.๐ฝโ) Cost.BitStr Cost.BitStr)
(hf : TypedPredicate.fits t a = true)
(hb : answerBound R a)
:
AuxiliaryAnswer.Valid Q R t (AuxiliaryAnswer.bits a)
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)
:
SourceCompiler.InSource (V.sampler.dim (2 ^ n)) (CL.toBits 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)
:
(directed U X Z project).toFun
(canonical V lam n Q ((2 ^ n) ^ lam) parameters (Sum.inr (AuxType.introspect, false))
(Sum.inr (AuxType.introspect, true)) (AuxiliaryAnswer.bits (ParsedAnswer.pair x a))
(AuxiliaryAnswer.bits (ParsedAnswer.pair y 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.
theorem
MIPRE.Introspection.AuxiliaryDecision.prefixGuard_canonical
{P : Type u_1}
[Fintype P]
[DecidableEq P]
[Cost.SizedEncoding P]
{parameters : Parameters}
(U : Cost.ClockedUniversalMachine)
{lam n Q : โ}
(V : Verifier 7)
(hV : V.IsBounded lam)
(hn : 1 โค n)
(hs : V.sampler.dim (2 ^ n) โค Q)
(R : โ)
(t u : QuestionType P 7)
(a : ParsedAnswer (Fin Q โ CL.๐ฝโ) Cost.BitStr Cost.BitStr)
(b : Cost.BitStr)
(hf : TypedPredicate.fits t a = true)
:
(prefixGuard U).toFun (canonical V lam n Q R parameters t u (AuxiliaryAnswer.bits a) b) = true โ PrefixGuard.holds (padded V hs) t a
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.