def
definition
brgcGrayCover
show as:
view math explainer →
open explainer
Generate a durable explainer page for this declaration.
open lean source
IndisputableMonolith.Patterns.GrayCycleBRGC on GitHub at line 431.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
-
complete -
Pattern -
card_pattern -
Pattern -
GrayCover -
brgc_oneBit_step -
brgcPath -
brgcPath_injective -
brgcGrayCover -
brgc_oneBit_step -
brgcPath -
brgcPath_injective -
Pattern -
Pattern
used by
formal source
428 oneBit_step := brgc_oneBit_step (d := d) hdpos
429}
430
431noncomputable def brgcGrayCover (d : Nat) (hdpos : 0 < d) : GrayCover d (2 ^ d) :=
432{ path := brgcPath d
433 complete := by
434 classical
435 have h_inj : Function.Injective (brgcPath d) := brgcPath_injective d
436 have h_card : Fintype.card (Fin (2 ^ d)) = Fintype.card (Pattern d) := by
437 simp [Patterns.card_pattern]
438 have h_bij : Function.Bijective (brgcPath d) :=
439 (Fintype.bijective_iff_injective_and_card (brgcPath d)).2 ⟨h_inj, h_card⟩
440 exact h_bij.2
441 oneBit_step := brgc_oneBit_step (d := d) hdpos
442}
443
444end GrayCycleBRGC
445
446end Patterns
447end IndisputableMonolith