pith. machine review for the scientific record. sign in

IndisputableMonolith.Physics.SemiconductorBandStructureFromConfigDim

IndisputableMonolith/Physics/SemiconductorBandStructureFromConfigDim.lean · 50 lines · 7 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib
   2import IndisputableMonolith.Constants
   3
   4/-!
   5# Semiconductor Band Structure from configDim — B15 Solid-State Depth
   6
   7Five canonical semiconductor types (= configDim D = 5):
   8  intrinsic, n-type doped, p-type doped, compensated, degenerate.
   9
  10Band-gap energies on the φ-ladder.
  11
  12Lean status: 0 sorry, 0 axiom.
  13-/
  14
  15namespace IndisputableMonolith.Physics.SemiconductorBandStructureFromConfigDim
  16open Constants
  17
  18inductive SemiconductorType where
  19  | intrinsic
  20  | nTypeDoped
  21  | pTypeDoped
  22  | compensated
  23  | degenerate
  24  deriving DecidableEq, Repr, BEq, Fintype
  25
  26theorem semiconductorType_count :
  27    Fintype.card SemiconductorType = 5 := by decide
  28
  29noncomputable def bandGap (k : ℕ) : ℝ := phi ^ k
  30
  31theorem bandGap_ratio (k : ℕ) : bandGap (k + 1) / bandGap k = phi := by
  32  unfold bandGap
  33  have hpos : (0 : ℝ) < phi ^ k := pow_pos phi_pos k
  34  rw [div_eq_iff hpos.ne', pow_succ]
  35  ring
  36
  37theorem bandGap_pos (k : ℕ) : 0 < bandGap k := pow_pos phi_pos k
  38
  39structure SemiconductorCert where
  40  five_types : Fintype.card SemiconductorType = 5
  41  phi_ratio : ∀ k, bandGap (k + 1) / bandGap k = phi
  42  bandGap_always_pos : ∀ k, 0 < bandGap k
  43
  44noncomputable def semiconductorCert : SemiconductorCert where
  45  five_types := semiconductorType_count
  46  phi_ratio := bandGap_ratio
  47  bandGap_always_pos := bandGap_pos
  48
  49end IndisputableMonolith.Physics.SemiconductorBandStructureFromConfigDim
  50

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