pith. machine review for the scientific record. sign in
theorem

physicsCost_symm

proved
show as:
view math explainer →
module
IndisputableMonolith.Foundation.PhysicsLogicRealization
domain
Foundation
line
30 · github
papers citing
none yet

open explainer

Read the cached plain-language explainer.

open lean source

IndisputableMonolith.Foundation.PhysicsLogicRealization on GitHub at line 30.

browse module

All declarations in this module, on Recognition.

explainer page

A cached Ask Recognition explainer exists for this declaration.

open explainer

depends on

used by

formal source

  27@[simp] theorem physicsCost_self (x : PhysicsState) : physicsCost x x = 0 := by
  28  simp [physicsCost]
  29
  30theorem physicsCost_symm (x y : PhysicsState) : physicsCost x y = physicsCost y x := by
  31  by_cases h : x = y
  32  · subst h
  33    simp [physicsCost]
  34  · have h' : y ≠ x := by intro hyx; exact h hyx.symm
  35    simp [physicsCost, h, h']
  36
  37/-- Identity-tick successor. -/
  38def tickStep (x : PhysicsState) : PhysicsState :=
  39  ⟨ArithmeticFromLogic.LogicNat.succ x.tick⟩
  40
  41/-- Interpret the free arithmetic orbit as identity-tick states. -/
  42def physicsInterpret (n : ArithmeticFromLogic.LogicNat) : PhysicsState :=
  43  ⟨n⟩
  44
  45/-- Physics realization skeleton. -/
  46def physicsRealization : LogicRealization where
  47  Carrier := PhysicsState
  48  Cost := Nat
  49  zeroCost := inferInstance
  50  compare := physicsCost
  51  zero := ⟨ArithmeticFromLogic.LogicNat.zero⟩
  52  step := tickStep
  53  Orbit := ArithmeticFromLogic.LogicNat
  54  orbitZero := ArithmeticFromLogic.LogicNat.zero
  55  orbitStep := ArithmeticFromLogic.LogicNat.succ
  56  interpret := physicsInterpret
  57  interpret_zero := rfl
  58  interpret_step := by intro n; rfl
  59  orbit_no_confusion := by
  60    intro n h