Encyclopedia Foundation Foundation Primitive Recognition Calculus Trace Logic And Intro

ARTICLE 2 claims 2 theorems

Foundation Primitive Recognition Calculus Trace Logic And Intro

A small logical rule about combining two observations into one, and the careful boundary of what it proves.

The conjunction rule

In logic, conjunction is the operation that combines two statements into one: if it is true that it is raining and it is true that the street is wet, then the combined statement "it is raining and the street is wet" is also true. The declaration and_intro in the Recognition Science framework's machine-checked library of formal theorems establishes exactly this rule for a special kind of statement called a stable trace predicate. A trace is a finite record of events, and a trace predicate is a property that can be checked against such a record. The word "stable" means the property persists: if it holds for one trace, it continues to hold for any longer trace that extends it.

The theorem states that if two stable trace predicates P and Q each hold on a trace T, then the conjunction of P and Q also holds on T. This is not a new idea; it is the standard introduction rule for conjunction, familiar from any introductory logic course. What makes it noteworthy here is the setting. The framework builds its foundational calculus on these stable predicates, and this theorem is one of the basic tools that lets it combine separate observations into a single compound observation while preserving stability. The proof is immediate from the definitions: the conjunction predicate holds exactly when both components hold, and stability of the conjunction follows because each component is itself stable.

The declaration does not claim that any particular trace predicate is true. It does not assert that any specific event occurs, nor that any property holds of any actual trace. It only says that if two properties hold, their conjunction holds. It also does not claim that the conjunction of two stable predicates is the only way to combine them; the framework separately defines disjunction, implication, negation, and quantifiers, each with its own rules. The theorem is a structural fact about the logical system the framework uses, not a claim about the world.

For a reader encountering the framework for the first time, this theorem is a small but necessary brick. It shows that the framework's logic behaves in the expected way when combining observations, which is a prerequisite for building larger arguments. Without such a rule, the framework could not assemble complex statements from simpler ones. Its presence is a checkmark in the foundation: the basic logical machinery works as logic should.

THEOREM and_intro · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/TraceLogic.lean
theorem and_intro {P Q : TracePredicate} {T : Trace}
    (hP : P.holds T) (hQ : Q.holds T) :
    (and P Q).holds T := by
  exact ⟨hP, hQ⟩
THEOREM TracePredicate · IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/TraceLogic.lean
/-- A proposition in the first PRC logic pass is a predicate on finite traces
that persists under trace extension. -/
structure TracePredicate where
  holds : Trace → Prop
  stable :
    ∀ {T U : Trace}, Trace.Extends T U → holds T → holds U

What this page does not claim

This answer does not claim that any particular trace predicate is true of any actual trace. This answer does not claim that conjunction is the only way to combine stable trace predicates. This answer does not claim that the framework's logic is the same as classical logic in all respects.

Verify this page

Every tagged claim above names its theorem. To check one yourself rather than trust this page, elaborate the source module with Lean 4 and audit its axiom basis:

$ lake env lean IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/TraceLogic.lean
expected axiom basis: [propext, Classical.choice, Quot.sound] (the Lean kernel's standard three; no RS-specific axioms)

A page whose claims cannot be reproduced this way does not ship. In production, every anchor links to the exact declaration in the public source release, and this block carries the build receipt for the page itself.

Derived articles

This page is generated by a question-recursion engine: the questions its answers raise become the next pages. The current agenda, with open targets marked red:

MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND