pith. machine review for the scientific record. sign in

IndisputableMonolith.Foundation.RSCoupledAxis

IndisputableMonolith/Foundation/RSCoupledAxis.lean · 88 lines · 11 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib
   2
   3/-!
   4# RS-Coupled Axes
   5
   6Infrastructure for cross-domain combination theorems.
   7
   8The main point is that two finite axes of the same cardinality are not
   9automatically independent. In RS they count as independent only when they are
  10tagged by different recognition primitives.
  11
  12Lean status: 0 sorry, 0 axiom.
  13-/
  14
  15namespace IndisputableMonolith
  16namespace Foundation
  17namespace RSCoupledAxis
  18
  19/-- The five RS primitives used to tag domain axes. -/
  20inductive RSPrimitive where
  21  | jCost
  22  | phiLadder
  23  | sigmaCharge
  24  | q3Lattice
  25  | gap45
  26  deriving DecidableEq, Repr, Fintype
  27
  28theorem rsPrimitive_count : Fintype.card RSPrimitive = 5 := by
  29  decide
  30
  31/-- A finite domain axis, tagged by the RS primitive that carries its meaning. -/
  32structure CoupledAxis (n : ℕ) where
  33  Ix : Type
  34  finite : Fintype Ix
  35  card_eq : @Fintype.card Ix finite = n
  36  primitive : RSPrimitive
  37
  38/-- RS-independence means the axes are carried by different primitives. -/
  39def independent {n m : ℕ} (A : CoupledAxis n) (B : CoupledAxis m) : Prop :=
  40  A.primitive ≠ B.primitive
  41
  42/-- Pairwise independent triple of same-size axes. -/
  43structure RSIndependentTriple (n : ℕ) where
  44  axis1 : CoupledAxis n
  45  axis2 : CoupledAxis n
  46  axis3 : CoupledAxis n
  47  indep12 : independent axis1 axis2
  48  indep13 : independent axis1 axis3
  49  indep23 : independent axis2 axis3
  50
  51/-- Pairwise independent disjoint sum of same-size axes. -/
  52structure RSDisjointSum3 (n : ℕ) where
  53  axis1 : CoupledAxis n
  54  axis2 : CoupledAxis n
  55  axis3 : CoupledAxis n
  56  indep12 : independent axis1 axis2
  57  indep13 : independent axis1 axis3
  58  indep23 : independent axis2 axis3
  59
  60/-- Product of the cardinalities of three same-size RS-independent axes. -/
  61def tripleProductCard {n : ℕ} (T : RSIndependentTriple n) : ℕ :=
  62  @Fintype.card T.axis1.Ix T.axis1.finite *
  63    @Fintype.card T.axis2.Ix T.axis2.finite *
  64    @Fintype.card T.axis3.Ix T.axis3.finite
  65
  66/-- The tensor-product count of three same-size RS-independent axes is n^3. -/
  67theorem triple_card {n : ℕ} (T : RSIndependentTriple n) :
  68    tripleProductCard T = n * n * n := by
  69  unfold tripleProductCard
  70  rw [T.axis1.card_eq, T.axis2.card_eq, T.axis3.card_eq]
  71
  72/-- Cardinality of the disjoint sum of three same-size RS-independent axes. -/
  73theorem disjoint_sum_card {n : ℕ} (S : RSDisjointSum3 n) :
  74    @Fintype.card S.axis1.Ix S.axis1.finite +
  75      @Fintype.card S.axis2.Ix S.axis2.finite +
  76      @Fintype.card S.axis3.Ix S.axis3.finite = 3 * n := by
  77  rw [S.axis1.card_eq, S.axis2.card_eq, S.axis3.card_eq]
  78  ring
  79
  80/-- The gap-45 complexity ceiling. -/
  81def gap45 : ℕ := 45
  82
  83theorem gap45_eq : gap45 = 45 := rfl
  84
  85end RSCoupledAxis
  86end Foundation
  87end IndisputableMonolith
  88

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