CNF
CNF packages a list of clauses into a single object indexed by the number of variables n. Researchers formalizing SAT instances or backpropagation procedures cite it as the input type for satisfiability and consistency checks. The definition is a direct structure declaration whose single field receives the Repr derivation automatically.
claimA CNF formula on $n$ variables is a list of clauses, where each clause is a disjunction of literals over the $n$ variables.
background
Variable indices are elements of Fin n. The sibling Clause is the abbreviation List (Lit n), which stands for a disjunction of literals. The upstream RSatEncoding.Clause supplies a concrete 3-SAT variant whose literals field is a list of at most three signed indices with an explicit size_bound proof. The module setting therefore treats CNF as the unrestricted conjunction of such disjunctions.
proof idea
The structure is introduced directly by the single field clauses : List (Clause n) together with the deriving Repr clause; no tactics or lemmas are applied.
why it matters in Recognition Science
CNF supplies the core data type consumed by BackpropSucceeds, BPStep, bp_step_sound and the surrounding backpropagation lemmas. It therefore sits at the interface between the SAT encoding layer and the consistency arguments that feed the larger Recognition Science development. The definition closes the syntactic side of the complexity encoding before any semantic evaluation or forcing-chain properties are imposed.
scope and limits
- Does not impose any bound on clause length or total number of clauses.
- Does not embed the size_bound or literal-index representation of the RSatEncoding.Clause variant.
- Does not define evaluation, satisfiability or consistency predicates.
- Does not reference the J-cost, phi-ladder or forcing-chain axioms.
formal statement (Lean)
20structure CNF (n : Nat) where
21 clauses : List (Clause n)
22deriving Repr
23
24/-- Total assignments for `n` variables. -/
used by (40)
-
Clause -
Clause -
BackpropSucceeds -
BPStep -
bp_step_monotone -
bp_step_sound -
consistent -
PartialAssignment -
BWD3Model -
feasible_implies_boolean -
LinearFeasible -
RankTestExact -
rankTestExact_classical -
sat_decider_classical -
sat_decider_from_rank_test -
satisfiable_iff_linearFeasible -
Clause -
evalClause -
evalCNF -
Satisfiable -
UniqueSolution -
BackpropCompleteUnderInvariant -
backprop_succeeds_from_PC -
backprop_succeeds_of_unique -
consistent_completeStateFrom -
determined_values_correct -
geometric_isolation_enables_propagation_hypothesis -
geometric_isolation_enables_propagation_thm -
IsolationInvariant -
polynomial_time_3sat_algorithm