pith. machine review for the scientific record. sign in

IndisputableMonolith.RRF.Core.Vantage

IndisputableMonolith/RRF/Core/Vantage.lean · 107 lines · 13 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib.Data.Fintype.Card
   2
   3
   4/-!
   5# RRF Core: Vantage
   6
   7The three fundamental perspectives on the One Thing.
   8
   9In RRF, every phenomenon can be viewed from three vantages:
  10- **Inside**: The subjective/qualia view (what it feels like)
  11- **Act**: The dynamic/process view (what is happening)
  12- **Outside**: The objective/physics view (what is observed)
  13
  14These are not three different things, but three views of the same thing.
  15The key insight: all three must be consistent for existence to be actual.
  16-/
  17
  18namespace IndisputableMonolith
  19namespace RRF.Core
  20
  21/-- The three fundamental vantages on reality.
  22
  23- `inside`: The subjective perspective (qualia, meaning, experience)
  24- `act`: The dynamic perspective (recognition, process, becoming)
  25- `outside`: The objective perspective (physics, measurement, observation)
  26-/
  27inductive Vantage : Type where
  28  | inside : Vantage
  29  | act : Vantage
  30  | outside : Vantage
  31  deriving DecidableEq, Repr, Inhabited
  32
  33namespace Vantage
  34
  35/-- Vantage is finite with exactly 3 elements. -/
  36instance : Fintype Vantage where
  37  elems := ⟨[inside, act, outside], by decide⟩
  38  complete := fun v => by cases v <;> decide
  39
  40/-- The number of vantages. -/
  41theorem card_vantage : Fintype.card Vantage = 3 := rfl
  42
  43/-- Every vantage has a complement pair. -/
  44def complements (v : Vantage) : Vantage × Vantage :=
  45  match v with
  46  | inside  => (act, outside)
  47  | act     => (inside, outside)
  48  | outside => (inside, act)
  49
  50/-- Cyclic successor (for the 3-phase rhythm). -/
  51def succ (v : Vantage) : Vantage :=
  52  match v with
  53  | inside  => act
  54  | act     => outside
  55  | outside => inside
  56
  57/-- Cyclic predecessor. -/
  58def pred (v : Vantage) : Vantage :=
  59  match v with
  60  | inside  => outside
  61  | act     => inside
  62  | outside => act
  63
  64theorem succ_pred_id (v : Vantage) : succ (pred v) = v := by
  65  cases v <;> rfl
  66
  67theorem pred_succ_id (v : Vantage) : pred (succ v) = v := by
  68  cases v <;> rfl
  69
  70/-- Three applications of succ returns to start. -/
  71theorem succ_succ_succ (v : Vantage) : succ (succ (succ v)) = v := by
  72  cases v <;> rfl
  73
  74end Vantage
  75
  76/-- A triple of values indexed by vantage.
  77    Used to express that X_inside, X_act, X_outside are the same underlying X. -/
  78structure VantageTriple (α : Type*) where
  79  inside  : α
  80  act     : α
  81  outside : α
  82
  83namespace VantageTriple
  84
  85/-- Project a value by vantage. -/
  86def get {α : Type*} (t : VantageTriple α) (v : Vantage) : α :=
  87  match v with
  88  | Vantage.inside  => t.inside
  89  | Vantage.act     => t.act
  90  | Vantage.outside => t.outside
  91
  92/-- A unified triple: all three vantages see the same value. -/
  93def unified {α : Type*} (x : α) : VantageTriple α :=
  94  { inside := x, act := x, outside := x }
  95
  96/-- Predicate: the triple is unified (all equal). -/
  97def isUnified {α : Type*} [DecidableEq α] (t : VantageTriple α) : Prop :=
  98  t.inside = t.act ∧ t.act = t.outside
  99
 100theorem unified_is_unified {α : Type*} [DecidableEq α] (x : α) :
 101    isUnified (unified x) := ⟨rfl, rfl⟩
 102
 103end VantageTriple
 104
 105end RRF.Core
 106end IndisputableMonolith
 107

source mirrored from github.com/jonwashburn/shape-of-logic