The intermediate tableau encoding is injective
ProvedPvsNP.encodeTableauSpec_injectiveDifferent six-field tableau specifications have different canonical encodings.
Status: Known mathematics / implementation obligation awaiting formal proof.
import Definitions.Def_PvsNPFrontier namespace PvsNP theorem encodeTableauSpec_injective : Function.Injective encodeTableauSpec := by sorry end PvsNP
Read-back
What the Lean code literally says, in plain math · gpt-6-astra
For every two specifications , if as Boolean words, then as structures, meaning that all six corresponding fields agree exactly, including list order and repetitions. This assertion covers every specification, without the stricter specification predicate or any validity condition. Here has , a list of lists of natural numbers, a list of natural numbers, and a list of lists of natural numbers, with no validity restrictions on these fields. Put , , and . The list is the zero-based th list of , or the empty list when that entry is missing. The specification encoding is , where is the following clause list: first a clause of copies of , then a clause of copies, then a clause of copies, then a clause of copies; next, for each list in in order, the clause ; next one clause formed in the same way from ; finally one such clause for each list in in order. These are raw formula encodings: no satisfiability condition is part of . Empty lists and zero replication counts give empty clauses, which still have their clause delimiters. Write for this Boolean-list encoding of a formula : for each literal , take followed by the little-endian canonical binary digits of (the digits of form the empty list), replace each bit by , and append ; concatenate these literal encodings within each clause and append ; then concatenate the clause encodings in formula order. In particular . A formula is a finite list of clauses, each clause a finite list of literals . Under an assignment , the literal is true exactly when , a clause is true exactly when some literal in it is true, and a formula is true exactly when every clause is true. Thus an empty clause is false and an empty formula is true. Here , is the set of all finite Boolean lists, including the empty list, and is list length. The supplied body is admitted with sorry; no proof of this assertion is supplied there.