Encyclopedia Foundation Foundation Dalembert Full Unconditional P Symmetric Of F Symmetric
ARTICLE 3 claims 3 theorems
Foundation Dalembert Full Unconditional P Symmetric Of F Symmetric
A small theorem about a cost function's symmetry turns out to be the first step in forcing the entire structure of a recognition ledger.
A symmetry that propagates
The declaration P_symmetric_of_F_symmetric is a theorem in the machine-checked library of formal theorems that Recognition Science (RS) uses. It states a precise, limited fact: if a function F that measures the cost of recognition is symmetric under taking reciprocals, and if F obeys a certain composition law, then the function P that describes how costs combine must also be symmetric. In plainer terms, if the cost of comparing a thing to its reciprocal is the same in both directions, then the rule for adding two costs together is itself symmetric, meaning P(u, v) = P(v, u) for all costs u and v that arise from F.
This is not a claim about the physical world. It is a theorem about functions. The proof assumes F has the property F(x) = F(1/x) for all positive x, and that F(xy) + F(x/y) = P(F(x), F(y)) for some function P. From these two assumptions alone, the theorem derives that P is symmetric on the range of F. The theorem does not require F to be smooth, normalized, or calibrated. It does not even require P to be a polynomial or to have any particular form. The symmetry of P follows from the symmetry of F and the structure of the composition law, nothing more.
In the broader RS framework, this theorem is the first step in a longer chain. The full unconditional theorem in the same module shows that under stronger assumptions, including smoothness and calibration, both F and P are forced to take specific forms: F(x) = (x + 1/x)/2 - 1 and P(u, v) = 2uv + 2u + 2v. That full result is what RS calls the inevitability of the cost function. The symmetry theorem alone does not reach that conclusion. It only establishes the symmetry of P, which is a necessary but not sufficient condition for the full result.
What this means for a reader is that the declaration is a building block, not a destination. It shows that the reciprocal symmetry of the cost function has a consequence for how costs combine, even before any assumptions about smoothness or calibration are added. It is a small, clean, and rigorously proved step in a larger argument. The theorem does not claim that P is symmetric for all inputs, only for inputs that are actual values of F. It does not claim that F itself is symmetric in any other sense, and it does not claim that the full inevitability theorem follows from this step alone.
THEOREM P_symmetric_of_F_symmetric · IndisputableMonolith/Foundation/DAlembert/FullUnconditional.lean
/-- If F is symmetric under reciprocal, then P must be symmetric. -/
theorem P_symmetric_of_F_symmetric
(F : ℝ → ℝ)
(P : ℝ → ℝ → ℝ)
(hSymm : ∀ x : ℝ, 0 < x → F x = F x⁻¹)
(hCons : ∀ x y : ℝ, 0 < x → 0 < y → F (x * y) + F (x / y) = P (F x) (F y)) :
∀ x y : ℝ, 0 < x → 0 < y → P (F x) (F y) = P (F y) (F x) := by
intro x y hx hy
-- F(xy) + F(x/y) = P(F(x), F(y))
-- F(yx) + F(y/x) = P(F(y), F(x))
-- But F(xy) = F(yx) and F(x/y) = F((y/x)⁻¹) = F(y/x) by symmetry
have h1 : F (x * y) + F (x / y) = P (F x) (F y) := hCons x y hx hy
have h2 : F (y * x) + F (y / x) = P (F y) (F x) := hCons y x hy hx
have hxy_comm : F (x * y) = F (y * x) := by ring_nf
have hxdy : 0 < x / y := div_pos hx hy
have hydx : 0 < y / x := div_pos hy hx
have hxdy_inv : (x / y)⁻¹ = y / x := by field_simp
have h_sym : F (x / y) = F (y / x) := by
calc F (x / y) = F (x / y)⁻¹ := hSymm (x / y) hxdy
_ = F (y / x) := by rw [hxdy_inv]
rw [hxy_comm, h_sym] at h1
rw [mul_comm] at h2
linarith
THEOREM P_symmetric_of_F_symmetric · IndisputableMonolith/Foundation/DAlembert/FullUnconditional.lean
/-- If F is symmetric under reciprocal, then P must be symmetric. -/
theorem P_symmetric_of_F_symmetric
(F : ℝ → ℝ)
(P : ℝ → ℝ → ℝ)
(hSymm : ∀ x : ℝ, 0 < x → F x = F x⁻¹)
(hCons : ∀ x y : ℝ, 0 < x → 0 < y → F (x * y) + F (x / y) = P (F x) (F y)) :
∀ x y : ℝ, 0 < x → 0 < y → P (F x) (F y) = P (F y) (F x) := by
intro x y hx hy
-- F(xy) + F(x/y) = P(F(x), F(y))
-- F(yx) + F(y/x) = P(F(y), F(x))
-- But F(xy) = F(yx) and F(x/y) = F((y/x)⁻¹) = F(y/x) by symmetry
have h1 : F (x * y) + F (x / y) = P (F x) (F y) := hCons x y hx hy
have h2 : F (y * x) + F (y / x) = P (F y) (F x) := hCons y x hy hx
have hxy_comm : F (x * y) = F (y * x) := by ring_nf
have hxdy : 0 < x / y := div_pos hx hy
have hydx : 0 < y / x := div_pos hy hx
have hxdy_inv : (x / y)⁻¹ = y / x := by field_simp
have h_sym : F (x / y) = F (y / x) := by
calc F (x / y) = F (x / y)⁻¹ := hSymm (x / y) hxdy
_ = F (y / x) := by rw [hxdy_inv]
rw [hxy_comm, h_sym] at h1
rw [mul_comm] at h2
linarith
THEOREM P_symmetric_of_F_symmetric · IndisputableMonolith/Foundation/DAlembert/FullUnconditional.lean
/-- If F is symmetric under reciprocal, then P must be symmetric. -/
theorem P_symmetric_of_F_symmetric
(F : ℝ → ℝ)
(P : ℝ → ℝ → ℝ)
(hSymm : ∀ x : ℝ, 0 < x → F x = F x⁻¹)
(hCons : ∀ x y : ℝ, 0 < x → 0 < y → F (x * y) + F (x / y) = P (F x) (F y)) :
∀ x y : ℝ, 0 < x → 0 < y → P (F x) (F y) = P (F y) (F x) := by
intro x y hx hy
-- F(xy) + F(x/y) = P(F(x), F(y))
-- F(yx) + F(y/x) = P(F(y), F(x))
-- But F(xy) = F(yx) and F(x/y) = F((y/x)⁻¹) = F(y/x) by symmetry
have h1 : F (x * y) + F (x / y) = P (F x) (F y) := hCons x y hx hy
have h2 : F (y * x) + F (y / x) = P (F y) (F x) := hCons y x hy hx
have hxy_comm : F (x * y) = F (y * x) := by ring_nf
have hxdy : 0 < x / y := div_pos hx hy
have hydx : 0 < y / x := div_pos hy hx
have hxdy_inv : (x / y)⁻¹ = y / x := by field_simp
have h_sym : F (x / y) = F (y / x) := by
calc F (x / y) = F (x / y)⁻¹ := hSymm (x / y) hxdy
_ = F (y / x) := by rw [hxdy_inv]
rw [hxy_comm, h_sym] at h1
rw [mul_comm] at h2
linarith
What this page does not claim
This theorem alone does not force the full form of F or P. The theorem does not claim P is symmetric for all real inputs, only on the range of F. The theorem does not claim anything about the physical interpretation of F or P.
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/DAlembert/FullUnconditional.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:
- What additional assumptions are needed to force the full form of F and P?
- How does the symmetry of P contribute to the proof of the full inevitability theorem?
- What is the historical origin of the functional equation used in this theorem?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
THEOREM P_symmetric_of_F_symmetric · IndisputableMonolith/Foundation/DAlembert/FullUnconditional.lean
/-- If F is symmetric under reciprocal, then P must be symmetric. -/ theorem P_symmetric_of_F_symmetric (F : ℝ → ℝ) (P : ℝ → ℝ → ℝ) (hSymm : ∀ x : ℝ, 0 < x → F x = F x⁻¹) (hCons : ∀ x y : ℝ, 0 < x → 0 < y → F (x * y) + F (x / y) = P (F x) (F y)) : ∀ x y : ℝ, 0 < x → 0 < y → P (F x) (F y) = P (F y) (F x) := by intro x y hx hy -- F(xy) + F(x/y) = P(F(x), F(y)) -- F(yx) + F(y/x) = P(F(y), F(x)) -- But F(xy) = F(yx) and F(x/y) = F((y/x)⁻¹) = F(y/x) by symmetry have h1 : F (x * y) + F (x / y) = P (F x) (F y) := hCons x y hx hy have h2 : F (y * x) + F (y / x) = P (F y) (F x) := hCons y x hy hx have hxy_comm : F (x * y) = F (y * x) := by ring_nf have hxdy : 0 < x / y := div_pos hx hy have hydx : 0 < y / x := div_pos hy hx have hxdy_inv : (x / y)⁻¹ = y / x := by field_simp have h_sym : F (x / y) = F (y / x) := by calc F (x / y) = F (x / y)⁻¹ := hSymm (x / y) hxdy _ = F (y / x) := by rw [hxdy_inv] rw [hxy_comm, h_sym] at h1 rw [mul_comm] at h2 linarithif a function F that measures the cost of recognition is symmetric under taking reciprocals, and if F obeys a certain composition law, then the function P that describes how costs combine must also be symmetric P_symmetric_of_F_symmetric · IndisputableMonolith/Foundation/DAlembert/FullUnconditional.leanTHEOREM P_symmetric_of_F_symmetric · IndisputableMonolith/Foundation/DAlembert/FullUnconditional.lean
/-- If F is symmetric under reciprocal, then P must be symmetric. -/ theorem P_symmetric_of_F_symmetric (F : ℝ → ℝ) (P : ℝ → ℝ → ℝ) (hSymm : ∀ x : ℝ, 0 < x → F x = F x⁻¹) (hCons : ∀ x y : ℝ, 0 < x → 0 < y → F (x * y) + F (x / y) = P (F x) (F y)) : ∀ x y : ℝ, 0 < x → 0 < y → P (F x) (F y) = P (F y) (F x) := by intro x y hx hy -- F(xy) + F(x/y) = P(F(x), F(y)) -- F(yx) + F(y/x) = P(F(y), F(x)) -- But F(xy) = F(yx) and F(x/y) = F((y/x)⁻¹) = F(y/x) by symmetry have h1 : F (x * y) + F (x / y) = P (F x) (F y) := hCons x y hx hy have h2 : F (y * x) + F (y / x) = P (F y) (F x) := hCons y x hy hx have hxy_comm : F (x * y) = F (y * x) := by ring_nf have hxdy : 0 < x / y := div_pos hx hy have hydx : 0 < y / x := div_pos hy hx have hxdy_inv : (x / y)⁻¹ = y / x := by field_simp have h_sym : F (x / y) = F (y / x) := by calc F (x / y) = F (x / y)⁻¹ := hSymm (x / y) hxdy _ = F (y / x) := by rw [hxdy_inv] rw [hxy_comm, h_sym] at h1 rw [mul_comm] at h2 linarithThe theorem does not require F to be smooth, normalized, or calibrated P_symmetric_of_F_symmetric · IndisputableMonolith/Foundation/DAlembert/FullUnconditional.leanTHEOREM P_symmetric_of_F_symmetric · IndisputableMonolith/Foundation/DAlembert/FullUnconditional.lean
/-- If F is symmetric under reciprocal, then P must be symmetric. -/ theorem P_symmetric_of_F_symmetric (F : ℝ → ℝ) (P : ℝ → ℝ → ℝ) (hSymm : ∀ x : ℝ, 0 < x → F x = F x⁻¹) (hCons : ∀ x y : ℝ, 0 < x → 0 < y → F (x * y) + F (x / y) = P (F x) (F y)) : ∀ x y : ℝ, 0 < x → 0 < y → P (F x) (F y) = P (F y) (F x) := by intro x y hx hy -- F(xy) + F(x/y) = P(F(x), F(y)) -- F(yx) + F(y/x) = P(F(y), F(x)) -- But F(xy) = F(yx) and F(x/y) = F((y/x)⁻¹) = F(y/x) by symmetry have h1 : F (x * y) + F (x / y) = P (F x) (F y) := hCons x y hx hy have h2 : F (y * x) + F (y / x) = P (F y) (F x) := hCons y x hy hx have hxy_comm : F (x * y) = F (y * x) := by ring_nf have hxdy : 0 < x / y := div_pos hx hy have hydx : 0 < y / x := div_pos hy hx have hxdy_inv : (x / y)⁻¹ = y / x := by field_simp have h_sym : F (x / y) = F (y / x) := by calc F (x / y) = F (x / y)⁻¹ := hSymm (x / y) hxdy _ = F (y / x) := by rw [hxdy_inv] rw [hxy_comm, h_sym] at h1 rw [mul_comm] at h2 linarithThe symmetry of P follows from the symmetry of F and the structure of the composition law, nothing more P_symmetric_of_F_symmetric · IndisputableMonolith/Foundation/DAlembert/FullUnconditional.lean