OAI/Computability/MaxCut/Encoding/InputEncoding.lean
29 declarations, 0 contain sorry, 0 declared as axioms
- def
OAI.MaxCutGames.BinaryFormula.clauseNamesline 11Source documentation
An ordinary conjunction of three-slot clauses with sparse variable names. Repeated names and repeated literals are permitted in every clause.
def clauseNames (clause : Clause) : List Nat := …
Mentions: OAI.MaxCutGames.BinaryFormula.Clause
- theorem
OAI.MaxCutGames.BinaryEncoding.bitsValue_bitsline 20 - theorem
OAI.MaxCutGames.BinaryEncoding.parseFrame_encodedline 29Source documentation
Prefix-free framing on the two-symbol input alphabet.
@[simp] theorem parseFrame_encoded (bits trailing : List Bool) : parseFrame (frame bits ++ trailing) = some (bits, trailing) := by …Mentions: OAI.MaxCutGames.BinaryEncoding.parseFrame, OAI.MaxCutGames.BinaryEncoding.frame
- theorem
OAI.MaxCutGames.BinaryEncoding.frame_lengthline 35 - theorem
OAI.MaxCutGames.BinaryEncoding.parseName_encodedline 43Source documentation
Equality with the canonical digits rejects alternate padded encodings.
@[simp] theorem parseName_encoded (name : Nat) (rest : List Bool) : parseName (nameBits name ++ rest) = some (name, rest) := by …Mentions: OAI.MaxCutGames.BinaryEncoding.parseName, OAI.MaxCutGames.BinaryEncoding.nameBits
- theorem
OAI.MaxCutGames.BinaryEncoding.nameBits_lengthline 47 - theorem
OAI.MaxCutGames.BinaryEncoding.nameBits_length_le_of_lt_powline 51 - def
OAI.MaxCutGames.BinaryEncoding.literalBitsline 57 - theorem
OAI.MaxCutGames.BinaryEncoding.parseLiteral_encodedline 60 - theorem
OAI.MaxCutGames.BinaryEncoding.literalBits_lengthline 65 - def
OAI.MaxCutGames.BinaryEncoding.clauseBitsline 69 - theorem
OAI.MaxCutGames.BinaryEncoding.clause_three_entriesline 72 - theorem
OAI.MaxCutGames.BinaryEncoding.parseClause_encodedline 78 - def
OAI.MaxCutGames.BinaryEncoding.clauseNameSizeline 82 - theorem
OAI.MaxCutGames.BinaryEncoding.clauseBits_lengthline 85 - def
OAI.MaxCutGames.BinaryEncoding.clausesBitsline 90 - def
OAI.MaxCutGames.BinaryEncoding.formulaBitsline 94 - def
OAI.MaxCutGames.BinaryEncoding.namesBitSizeline 96 - theorem
OAI.MaxCutGames.BinaryEncoding.namesBitSize_nilline 99 - theorem
OAI.MaxCutGames.BinaryEncoding.namesBitSize_consline 101 - theorem
OAI.MaxCutGames.BinaryEncoding.clausesBits_lengthline 105 - theorem
OAI.MaxCutGames.BinaryEncoding.formulaBits_lengthline 114 - theorem
OAI.MaxCutGames.BinaryEncoding.clauses_length_lt_bitsline 119 - def
OAI.MaxCutGames.BinaryEncoding.ordinarySizeline 126Source documentation
Binary digits, one sign per literal, and one terminal bit form a natural reference size. The concrete framing adds only a fixed multiplicative factor.
def ordinarySize (formula : Formula) : Nat := …
- theorem
OAI.MaxCutGames.BinaryEncoding.ordinarySize_le_bitsline 129 - theorem
OAI.MaxCutGames.BinaryEncoding.bits_le_three_ordinarySizeline 135 - theorem
OAI.MaxCutGames.BinaryEncoding.parseClauses_encodedline 143Source documentation
Fuel bounds the number of clause iterations, not the size of any name.
@[simp] theorem parseClauses_encoded (clauses : List Clause) (rest : List Bool) (fuel : Nat) (enough : clauses.length < fuel) : parseClauses fuel (clausesBits clauses ++ rest) = some (clauses, rest) := by …Mentions: OAI.MaxCutGames.BinaryEncoding.parseClauses, OAI.MaxCutGames.BinaryEncoding.clausesBits
- theorem
OAI.MaxCutGames.BinaryEncoding.decodeFormula_encodedline 158 - theorem
OAI.MaxCutGames.BinaryEncoding.formulaBits_injectiveline 168Source documentation
This preserves every literal and clause occurrence, including duplicates.
theorem formulaBits_injective {first second : Formula} (same : formulaBits first = formulaBits second) : first = second := by …