def
definition
DE
show as:
view math explainer →
open explainer
Generate a durable explainer page for this declaration.
open lean source
IndisputableMonolith.Potential on GitHub at line 15.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
used by
formal source
12abbrev Pot (M : Recognition.RecognitionStructure) := M.U → ℤ
13
14/-- Discrete edge rule: along any edge, `p` increases by `δ` on `M.R`. -/
15def DE (δ : ℤ) (p : Pot M) : Prop := ∀ {a b}, M.R a b → p b - p a = δ
16
17/-- Package the recognition relation as a kinematics. -/
18def Kin (M : Recognition.RecognitionStructure) : Causality.Kinematics M.U := { step := M.R }
19
20/-- On each edge, the difference (p − q) is invariant if both satisfy the same δ rule. -/
21lemma edge_diff_invariant {δ : ℤ} {p q : Pot M}
22 (hp : DE (M:=M) δ p) (hq : DE (M:=M) δ q) {a b : M.U} (h : M.R a b) :
23 (p b - q b) = (p a - q a) := by
24 have harr : (p b - q b) - (p a - q a) = (p b - p a) - (q b - q a) := by ring
25 have hδ : (p b - p a) - (q b - q a) = δ - δ := by simp [hp h, hq h]
26 have : (p b - q b) - (p a - q a) = 0 := by simp [harr, hδ]
27 exact sub_eq_zero.mp this
28
29/-- The difference (p − q) is constant along any n‑step reach. -/
30lemma diff_const_on_ReachN {δ : ℤ} {p q : Pot M}
31 (hp : DE (M:=M) δ p) (hq : DE (M:=M) δ q) :
32 ∀ {n x y}, Causality.ReachN (Kin M) n x y → (p y - q y) = (p x - q x) := by
33 intro n x y h
34 induction h with
35 | zero => rfl
36 | @succ n x y z hxy hyz ih =>
37 have h_edge : (p z - q z) = (p y - q y) :=
38 edge_diff_invariant (M:=M) (δ:=δ) (p:=p) (q:=q) hp hq hyz
39 exact h_edge.trans ih
40
41/-- On reach components, the difference (p − q) equals its basepoint value. -/
42lemma diff_const_on_component {δ : ℤ} {p q : Pot M}
43 (hp : DE (M:=M) δ p) (hq : DE (M:=M) δ q) {x0 y : M.U}
44 (hreach : Causality.Reaches (Kin M) x0 y) :
45 (p y - q y) = (p x0 - q x0) := by