theorem
proved
eriksonCount
show as:
view math explainer →
open explainer
Read the cached plain-language explainer.
open lean source
IndisputableMonolith.CrossDomain.DevelopmentReversal on GitHub at line 31.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
used by
formal source
28 | integrityVsDespair
29 deriving DecidableEq, Repr, BEq, Fintype
30
31theorem eriksonCount : Fintype.card EriksonStage = 8 := by decide
32theorem erikson_eq_2cube : Fintype.card EriksonStage = 2 ^ 3 := by decide
33
34/-- Reversal map on `Fin 8`. -/
35def reverse : Fin 8 → Fin 8 := fun k => ⟨7 - k.val, by omega⟩
36
37/-- Reversal is an involution: reverse ∘ reverse = id. -/
38theorem reverse_involution (k : Fin 8) : reverse (reverse k) = k := by
39 apply Fin.ext
40 simp only [reverse]
41 omega
42
43/-- Reversal swaps first and last. -/
44theorem reverse_swaps_endpoints :
45 reverse ⟨0, by decide⟩ = ⟨7, by decide⟩ ∧
46 reverse ⟨7, by decide⟩ = ⟨0, by decide⟩ := by
47 refine ⟨?_, ?_⟩
48 · apply Fin.ext; simp [reverse]
49 · apply Fin.ext; simp [reverse]
50
51/-- Mid-life stages invert before early ones:
52 reverse of stage 6 (generativity) = stage 1 (autonomy),
53 reverse of stage 0 (trust) = stage 7 (integrity).
54 So going in reverse from old-age, we pass stage 6's inverse at
55 position 1 before stage 0's inverse at position 7. -/
56theorem midlife_inverts_first :
57 (reverse ⟨6, by decide⟩).val < (reverse ⟨0, by decide⟩).val := by
58 simp [reverse]
59
60structure DevelopmentReversalCert where
61 stage_count : Fintype.card EriksonStage = 8