OAI/Computability/MaxCut/PCP/Occurrences.lean
117 declarations, 0 contain sorry, 0 declared as axioms
Executable radix numbering of padded global long-code tables and an ordered equation occurrence list. The code enumerates random tapes, not distinct equations: coinciding equations and repeated variable occurrences are retained.
- structure
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.Encodingline 20Source documentation
A concrete, reversible finite encoding. Constructors below specify the actual arithmetic; no arbitrary
Fintype.equivFinis used.structure Encoding (α : Type) where …
- def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.Encoding.finline 26 - def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.Encoding.boolline 27 - def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.Encoding.unitline 28 - def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.Encoding.prodline 31Source documentation
The second component is the low-order block coordinate.
def prod {α β : Type} (a : Encoding α) (b : Encoding β) : Encoding (α × β) := …Mentions: OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.Encoding
- def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.Encoding.sumline 35Source documentation
The right summand follows the whole left block.
def sum {α β : Type} (a : Encoding α) (b : Encoding β) : Encoding (α ⊕ β) := …Mentions: OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.Encoding
- def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.Encoding.functionline 39Source documentation
Function coordinate zero is the least significant radix digit.
def function {α β : Type} (a : Encoding α) (b : Encoding β) : Encoding (α → β) where …Mentions: OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.Encoding
- def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.Encoding.enumerateline 47 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.Encoding.length_enumerateline 49 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.Encoding.mem_enumerateline 52 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.Encoding.nodup_enumerateline 56 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.Encoding.card_eq_sizeline 59 - abbrev
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.GlobalKeyline 67Source documentation
Distinct table vertices and the three side tags never share storage. Unused ambient query positions are harmless explicit padding.
abbrev GlobalKey (V C I J : Type) := (V × Cube I) ⊕ ((C × Cube J) ⊕ Unit)
Mentions: OAI.MaxCutGames.Foundations.Hastad.Cube
- def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.globalEncodingline 69 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.globalEncoding_sizeline 75 - def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.extendRestrictedline 81Source documentation
Extending by false gives a unique padded address to a restricted query.
def extendRestricted {J : Type} (valid : J → Bool) (f : Cube {j : J // valid j = true}) : Cube J := …Mentions: OAI.MaxCutGames.Foundations.Hastad.Cube
- theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.extendRestricted_validline 85 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.extendRestricted_injectiveline 89 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.restrictQuery_extendRestrictedline 96 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.canonicalInput_halfline 102 - def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.assignmentOfKeyline 109Source documentation
The global index map is an explicit equivalence, including all padding.
def assignmentOfKey {V C I J : Type} (v : Encoding V) (c : Encoding C) (i : Encoding I) (j : Encoding J) (bits : GlobalKey V C I J → Bool) : Fin (globalEncoding v c i j).size → Bool := …Mentions: OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.Encoding, OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.GlobalKey, OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.globalEncoding
- theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.assignmentOfKey_codeline 114 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.assignmentOfKey_surjectiveline 120 - def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.localAddressline 132 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.localAddress_injectiveline 139 - def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.conditionedOccurrenceline 164 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.conditionedOccurrence_satisfiedline 173 - def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.findValidline 203Source documentation
A terminating first-valid search on the explicitly ordered ambient list.
def findValid {J : Type} (valid : J → Bool) : List J → Option {j : J // valid j = true} | [] => none | j :: rest => if h : valid j = true then some ⟨j, h⟩ else findValid valid rest - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.findValid_none_iffline 207 - def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.firstValidline 216 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.firstValid_none_iffline 219 - def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.occurrenceListline 225Source documentation
Mapping the ordered enumeration preserves all sampled occurrences.
def occurrenceList {Tape Name : Type} (tape : Encoding Tape) (emit : Tape → Equation Name) : List (Equation Name) := tape.enumerate.map emitMentions: OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.Encoding
- theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.occurrenceList_lengthline 228 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.countP_cast_eq_sum_inline_SourceOccurrencesline 232 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.countP_enumerateline 238 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.occurrenceList_acceptanceline 247Source documentation
Exact satisfaction fraction of the actual ordered equation list equals the uniform random-tape expectation, even when equations or addresses repeat.
theorem occurrenceList_acceptance {Tape Name : Type} [Fintype Tape] (tape : Encoding Tape) (emit : Tape → Equation Name) (bits : Name → Bool) : ((occurrenceList tape emit).countP (fun e => satisfied e bits) : ℝ) / (occurrenceList tape emit).length = 𝔼 x, if satisfied (emit x) bits then (1 : ℝ) else 0 := by …Mentions: OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.Encoding, OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.occurrenceList
- def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.clauseAnswerEncodingline 260 - def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.slotEncodingline 262 - def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.iEncodingline 270 - def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.jEncodingline 271 - def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.variableEncodingline 272 - def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.clauseEncodingline 274 - def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.slotContextEncodingline 276 - def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.proofEncodingline 279 - def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.nBitsline 283 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.nBits_eqline 285 - def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.dummyIndexline 289 - def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.leftAnchorline 292 - def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.rightAnchorline 294 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.rightAnchor_none_iffline 297 - def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.halfTableKeyAssignmentline 303Source documentation
Independent actual half-tables extend to the explicit padded key space. Only the canonically selected right anchor is read at each clause context.
def halfTableKeyAssignment (F : Target.Formula) (u : ℕ) (a : VariableContext F u → HalfCube (leftAnchor u) → Bool) (b : ∀ c : ClauseContext F u, ∀ j₀ : {j : J u // validJ F c j = true}, HalfCube j₀ → Bool) : GlobalKey (VariableContext F u) (ClauseContext F u) (I u) (J u) → Bool | .inl (v, f) => a v (canonicalInput (leftAnchor u) f) | .inr (.inl (c, g)) => match rightAnchor F c with | none => false | some j₀ => b c j₀ (canonicalInput j₀ (restrictQuery (validJ F c) g)) | .inr (.inr _) => falseMentions: OAI.MaxCutGames.Foundations.Target.Formula, OAI.MaxCutGames.Foundations.Hastad.HalfCube, OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.leftAnchor, OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.GlobalKey, OAI.MaxCutGames.Foundations.Hastad.canonicalInput, OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.rightAnchor, OAI.MaxCutGames.Foundations.Hastad.restrictQuery
- def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.extendHalfTablesline 315 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.extendHalfTables_leftline 322 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.extendHalfTables_rightline 333 - def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.emptyAddressline 350 - def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.contextEquationline 357Source documentation
The private query law depends only on the two visible contexts. In particular, the hidden sampled slots are not inputs to
pi.def contextEquation (F : Target.Formula) (u D : ℕ) (c : ClauseContext F u) (v : VariableContext F u) (t : SourceTape.TestTape (I u) (J u) D) : Equation (Fin (nBits F u)) := …Mentions: OAI.MaxCutGames.Foundations.Target.Formula, OAI.MaxCutGames.Foundations.Hastad.SourceTape.TestTape, OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.nBits
- def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.leftResponseline 366 - def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.rightResponseline 370 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.contextEquation_satisfiedline 377 - def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.testTapeEncodingline 394 - abbrev
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.SourceIndexline 398 - def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.sourceIndexEncodingline 401 - def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.sourceEquationline 404 - def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.rawSourceListline 410Source documentation
The entire finite random-tape population, including repeated visible contexts and all equation multiplicities, in a fixed explicit order.
def rawSourceList (F : Target.Formula) (u D : ℕ) : List (Equation (Fin (nBits F u))) := …
Mentions: OAI.MaxCutGames.Foundations.Target.Formula, OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.nBits
- theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.rawSourceList_lengthline 413 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.rawSourceList_acceptanceline 420 - def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.emptyFormulaEquationline 445Source documentation
A satisfiable totalization for the empty input formula, without changing or diluting the occurrence list of a nonempty formula.
def emptyFormulaEquation (F : Target.Formula) (u : ℕ) : Equation (Fin (nBits F u)) := …
Mentions: OAI.MaxCutGames.Foundations.Target.Formula, OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.nBits
- def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.sourceListline 448 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.sourceList_emptyline 451 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.sourceList_nonemptyline 454 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.sourceList_length_le_raw_add_oneline 460 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.sourceList_ne_nilline 469 - def
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.sourceInputline 480 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.emptyFormulaEquation_satisfiedline 484 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.Encoding.prod_decode_pairline 497 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.Encoding.prod_decode_mkline 505 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.Encoding.enumerate_prodline 523Source documentation
Increasing product rank enumerates the first factor outside and the second factor inside, including when either factor is empty.
theorem enumerate_prod (a : Encoding α) (b : Encoding β) : (a.prod b).enumerate = a.enumerate.flatMap (fun x => b.enumerate.map (fun y => (x, y))) := by …Mentions: OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.Encoding, OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.Encoding.enumerate
- theorem
OAI.MaxCutGames.Foundations.Hastad.SourceOccurrences.Encoding.map_enumerate_prodline 538 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceEnumeration.testTapeEncoding_enumerateline 551Source documentation
The exact tape order is left query, noise assignment, right query.
theorem testTapeEncoding_enumerate (u D : ℕ) : (testTapeEncoding u D).enumerate = ((iEncoding u).function Encoding.bool).enumerate.flatMap (fun f => ((jEncoding u).function (Encoding.fin D)).enumerate.flatMap (fun z => ((jEncoding u).function Encoding.bool).enumerate.map (fun g => (f, z, g)))) := by … - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceEnumeration.sourceIndexEncoding_enumerateline 559 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceEnumeration.sourceIndexEncoding_mapline 570 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceEnumeration.rawSourceList_eq_nestedLoopsline 583Source documentation
The concrete equation list is exactly a nest of finite emitting loops.
theorem rawSourceList_eq_nestedLoops (F : Formula) (u D : ℕ) : rawSourceList F u D = (clauseEncoding F u).enumerate.flatMap (fun c => (slotContextEncoding u).enumerate.flatMap (fun s => ((iEncoding u).function Encoding.bool).enumerate.flatMap (fun f => ((jEncoding u).function (Encoding.fin D)).enumerate.flatMap (fun z => ((jEncoding u).function Encoding.bool).enumerate.map (fun g => contextEquation F u D c (sampledVariables F c s) (f, z, g)))))) := by … - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceEnumeration.sourceList_eq_nestedLoopsline 593 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceEnumeration.rawSourceList_flatMapline 606Source documentation
An output-word encoder can be concatenated directly in the same order. This is an algebraic serialization identity, not a machine realization.
theorem rawSourceList_flatMap {α : Type} (F : Formula) (u D : ℕ) (emit : MaxCutGames.Reduction.CloneGap.Equation (Fin (nBits F u)) → List α) : (rawSourceList F u D).flatMap emit = (clauseEncoding F u).enumerate.flatMap (fun c => (slotContextEncoding u).enumerate.flatMap (fun s => ((iEncoding u).function Encoding.bool).enumerate.flatMap (fun f => ((jEncoding u).function (Encoding.fin D)).enumerate.flatMap (fun z => ((jEncoding u).function Encoding.bool).enumerate.flatMap (fun g => emit (contextEquation F u D c (sampledVariables F c s) (f, z, g))))))) := by … - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceAddressArithmetic.variable_rankline 627 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceAddressArithmetic.clause_rankline 631 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceAddressArithmetic.left_addressline 635 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceAddressArithmetic.right_addressline 640 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceAddressArithmetic.dummy_addressline 646 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceAddressArithmetic.left_address_radixline 653 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceAddressArithmetic.right_address_radixline 660 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceAddressArithmetic.nBits_eq_dummy_succline 668 - abbrev
OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.Positionline 679 - abbrev
OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.NameProfileline 680 - structure
OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.Signatureline 684Source documentation
All local control data have sizes determined solely by the repetition parameter. Global variable and clause indices are absent.
structure Signature (u : ℕ) where …
- def
OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.signatureEquivline 690 - instance
OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.signatureFintypeline 697 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.card_positionline 701 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.card_signatureline 705Source documentation
A finite control alphabet bound, not a claim about evaluation time.
theorem card_signature (u : ℕ) : Fintype.card (Signature u) = 2 ^ (3 * u) * ((2 ^ (3 * u)) ^ (3 * u) * 3 ^ u) := by …Mentions: OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.Signature
- def
OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.positiveAtline 711 - def
OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.occurrenceNameline 716 - def
OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.contextNameProfileline 722Source documentation
The equality matrix can be supplied by a separate field-comparison procedure after an explicit reindexing of the
3*upositions.def contextNameProfile (F : Formula) {u : ℕ} (c : ClauseContext F u) : NameProfile u := …Mentions: OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.NameProfile
- def
OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.ofContextline 725 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.ofContext_signsline 731 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.ofContext_sameNameline 735 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.ofContext_selectedline 740 - def
OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.signatureSatisfiesline 744Source documentation
Local clause truth is computed from signs and the three answer bits.
def signatureSatisfies {u : ℕ} (σ : Signature u) (j : J u) (t : Fin u) : Bool := …Mentions: OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.Signature
- def
OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.signatureValidline 749 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.signatureSatisfies_ofContextline 754 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.signature_validJline 761Source documentation
Exact equality with the actual contextual validity predicate, for every answer tuple, including repeated «variables» within or across clauses.
theorem signature_validJ (F : Formula) {u : ℕ} (c : ClauseContext F u) (s : SlotContext u) (j : J u) : signatureValid (ofContext F c s) j = validJ F c j := by …Mentions: OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.signatureValid, OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.ofContext
- def
OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.signatureCanonicalSlotline 786Source documentation
The first slot matching the visible selected name, computed using only the equality matrix. The selected slot guarantees visible support.
def signatureCanonicalSlot {u : ℕ} (σ : Signature u) (t : Fin u) : Slot := …Mentions: OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.Signature
- def
OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.signatureProjectionline 790 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.signatureCanonicalSlot_ofContextline 793 - theorem
OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.signature_piline 810Source documentation
The actual canonical projection factors through the finite signature on every label, without a validity hypothesis.
theorem signature_pi (F : Formula) {u : ℕ} (c : ClauseContext F u) (s : SlotContext u) (j : J u) : signatureProjection (ofContext F c s) j = pi F c (sampledVariables F c s) j := by …Mentions: OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.signatureProjection, OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.ofContext
- theorem
OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.signature_projection_selectedline 818Source documentation
On valid labels, canonical projection also agrees with the actual selected occurrence answers.
theorem signature_projection_selected (F : Formula) {u : ℕ} (c : ClauseContext F u) (s : SlotContext u) (j : J u) (hj : signatureValid (ofContext F c s) j = true) : signatureProjection (ofContext F c s) j = fun t => answerAt (j t) (s t) := by …Mentions: OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.signatureValid, OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.ofContext, OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.signatureProjection
- theorem
OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.validJ_eq_of_signature_eqline 829Source documentation
The same finite signature gives the same validity decision even across formulas having different global index types.
theorem validJ_eq_of_signature_eq (F G : Formula) {u : ℕ} (c : ClauseContext F u) (d : ClauseContext G u) (s s' : SlotContext u) (h : ofContext F c s = ofContext G d s') (j : J u) : validJ F c j = validJ G d j := by …Mentions: OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.ofContext
- theorem
OAI.MaxCutGames.Foundations.Hastad.SourceLocalSignature.pi_eq_of_signature_eqline 835