combibench-v1 / brualdi-ch14-26

brualdi-ch14-26

open
difficulty 4
credited
Run this goal:./swarm/run.sh --goal brualdi-ch14-26

What it runs

The Lean statement the swarm must prove — kernel-verified at Gate A. The trailing sorry is the open obligation a proof replaces.

goals/brualdi-ch14-26.lean
import Mathlib

structure PreNecklaces where
  c : Fin 7 → Fin 2
  color : ∃ S : Finset (Fin 7), S.card = 4 ∧ ∀ i ∈ S, c i = 0
  deriving Fintype
def myDihedralGroup (n : ℕ) : Subgroup (Equiv.Perm (Fin n)) :=
  Subgroup.closure {finRotate n, Fin.revPerm}
instance Necklaces.setoid : Setoid PreNecklaces where
  r n1 n2 := ∃ s ∈ myDihedralGroup 7, n1.c = n2.c ∘ s
  iseqv :=
  { refl n := ⟨1, one_mem _, by simp⟩
    symm := by
      rintro m n ⟨p, hp, eqp⟩
      refine ⟨p⁻¹, inv_mem hp, eqp ▸ ?_⟩
      ext x
      simp
    trans := by
      rintro a b c ⟨p, hp, eqp⟩ ⟨q, hq, eqq⟩
      refine ⟨q * p, mul_mem hq hp, ?_⟩
      rw [eqp, eqq]
      ext x
      simp }
abbrev Necklaces := Quotient Necklaces.setoid
noncomputable instance : Fintype Necklaces := by
  have := Quotient.finite (Necklaces.setoid)
  exact Fintype.ofFinite Necklaces

theorem brualdi_ch14_26 : Fintype.card Necklaces = ((15) : ℕ ) := by
  sorry

Runs (0)

No runs recorded for this suite yet — they appear here as the swarm attempts the benchmarks.