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

narrativeAxisCount

proved
show as:
view math explainer →
module
IndisputableMonolith.Aesthetics.NarrativeStructureFromF2Cube
domain
Aesthetics
line
28 · github
papers citing
none yet

open explainer

Read the cached plain-language explainer.

open lean source

IndisputableMonolith.Aesthetics.NarrativeStructureFromF2Cube on GitHub at line 28.

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

  25  | protagonistAgency | conflictOrigin | resolutionType
  26  deriving DecidableEq, Repr, BEq, Fintype
  27
  28theorem narrativeAxisCount : Fintype.card NarrativeAxis = 3 := by decide
  29
  30structure NarrativeAssignment where
  31  protagonistAgency : Bool
  32  conflictOrigin : Bool
  33  resolutionType : Bool
  34  deriving DecidableEq, BEq, Repr, Fintype
  35
  36def neutralNarrative : NarrativeAssignment := ⟨false, false, false⟩
  37
  38def IsBookerStory (n : NarrativeAssignment) : Prop := n ≠ neutralNarrative
  39
  40instance (n : NarrativeAssignment) : Decidable (IsBookerStory n) := instDecidableNot
  41
  42/-- The 7 Booker stories = |F₂³\{0}|. -/
  43theorem booker_count :
  44    (Finset.univ.filter IsBookerStory).card = 7 := by decide
  45
  46inductive BookerStory where
  47  | overcomingMonster | ragsToRiches | theQuest | voyageAndReturn
  48  | comedy | tragedy | rebirth
  49  deriving DecidableEq, Repr, BEq, Fintype
  50
  51theorem bookerStoryCount : Fintype.card BookerStory = 7 := by decide
  52
  53theorem bookerCount_eq_F2cube_minus_one :
  54    Fintype.card BookerStory = 2^3 - 1 := by decide
  55
  56structure NarrativeStructureCert where
  57  three_axes : Fintype.card NarrativeAxis = 3
  58  seven_stories_via_decide : (Finset.univ.filter IsBookerStory).card = 7