pith. machine review for the scientific record. sign in

IndisputableMonolith.Physics.CrystalSystemsFromConfigDim

IndisputableMonolith/Physics/CrystalSystemsFromConfigDim.lean · 49 lines · 7 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib
   2import IndisputableMonolith.Constants
   3
   4/-!
   5# Crystal Systems from configDim — Crystallography Depth
   6
   7Seven crystal systems form the basic partition of 3D crystallography.
   8Five of these are orthogonal-axis-based (= configDim D = 5):
   9  cubic, tetragonal, orthorhombic, trigonal, hexagonal.
  10
  11Plus two oblique: monoclinic and triclinic.
  12
  1314 Bravais lattices = 7 systems × 2 (primitive + centerings).
  14
  15Lean status: 0 sorry, 0 axiom.
  16-/
  17
  18namespace IndisputableMonolith.Physics.CrystalSystemsFromConfigDim
  19
  20inductive OrthogonalCrystalSystem where
  21  | cubic
  22  | tetragonal
  23  | orthorhombic
  24  | trigonal
  25  | hexagonal
  26  deriving DecidableEq, Repr, BEq, Fintype
  27
  28theorem orthogonalSystem_count :
  29    Fintype.card OrthogonalCrystalSystem = 5 := by decide
  30
  31/-- 7 systems total; 5 orthogonal + 2 oblique. -/
  32theorem seven_systems_partition : (7 : ℕ) = 5 + 2 := by decide
  33
  34/-- 14 Bravais lattices. -/
  35def bravaisLatticeCount : ℕ := 14
  36theorem bravais_eq : bravaisLatticeCount = 14 := rfl
  37
  38structure CrystalSystemsCert where
  39  five_orthogonal : Fintype.card OrthogonalCrystalSystem = 5
  40  seven_total : (7 : ℕ) = 5 + 2
  41  bravais_14 : bravaisLatticeCount = 14
  42
  43def crystalSystemsCert : CrystalSystemsCert where
  44  five_orthogonal := orthogonalSystem_count
  45  seven_total := seven_systems_partition
  46  bravais_14 := bravais_eq
  47
  48end IndisputableMonolith.Physics.CrystalSystemsFromConfigDim
  49

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