FormalConjectures/OEIS/109074.lean

GitHub source file

Explanation legend Lean4 Domain Explanation Language (L4DEL)

L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.

L4DEL
Lean4 Domain Explanation Language

Credit: The upstream authors and contributors retain credit for the project and mathematics. lean4-explainer only renders their pinned source and adds the separately disclosed explanation layer.

Project sources: Pinned project documentation, Formal Conjectures paper, arXiv v1

19 declarations, 1 contain sorry, 0 declared as axioms

Numerator of $\binom{6n-2}{2n} / \left(2 \binom{4n-1}{2n}\right)$

The sequence $a(n)$ is the numerator of $\binom{6n-2}{2n} / \left(2 \binom{4n-1}{2n}\right)$. The OEIS entry records the conjecture that this ratio equals $\text{A005156}(n) / \text{A005156}(n-1)$, where $\text{A005156}(n)$ is the number of $(2n+1) \times (2n+1)$ vertically symmetric alternating sign matrices (VSASMs). This follows from Robbins's VSASM product formula, proved by Kuperberg (2002).

References:

Imports (1)
  1. def OeisA109074.frac The rational number defined by $\binom{6n-2}{2n} / \left(2 \binom{4n-1}{2n}\right)$, whose numerator is A109074 line 47 source

    Source documentation

    The rational number defined by $\binom{6n-2}{2n} / \left(2 \binom{4n-1}{2n}\right)$, whose numerator is A109074.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat, Rat

    Proof uses: Nat.choose, HSub.hSub, HMul.hMul, OfNat.ofNat, HDiv.hDiv

    9 instances, coercions and auxiliary constants left out.

    def frac (n : ℕ) : ℚ :=
    …
  2. def OeisA109074.a The primary defining sequence a line 56 source

    Source documentation

    The primary defining sequence a. $a(n)$ is the numerator of $\binom{6n-2}{2n} / \left(2 \binom{4n-1}{2n}\right)$.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: Nat

    Proof uses: Int.natAbs, Rat.num, OeisA109074.frac

    def a (n : ℕ) : ℕ :=
    …
  3. theorem OeisA109074.a_0 line 60 source

    extra axioms: _private.0.OeisA109074.a_0._native.native_decide.ax_1 what this means

    Statement uses: Eq, Nat, OeisA109074.a, OfNat.ofNat

    Proof uses: of_decide_eq_true

    4 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

  4. theorem OeisA109074.a_1 line 63 source

    extra axioms: _private.0.OeisA109074.a_1._native.native_decide.ax_1 what this means

    Statement uses: Eq, Nat, OeisA109074.a, OfNat.ofNat

    Proof uses: of_decide_eq_true

    4 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

  5. theorem OeisA109074.a_2 line 66 source

    extra axioms: _private.0.OeisA109074.a_2._native.native_decide.ax_1 what this means

    Statement uses: Eq, Nat, OeisA109074.a, OfNat.ofNat

    Proof uses: of_decide_eq_true

    4 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

  6. theorem OeisA109074.a_3 line 69 source

    extra axioms: _private.0.OeisA109074.a_3._native.native_decide.ax_1 what this means

    Statement uses: Eq, Nat, OeisA109074.a, OfNat.ofNat

    Proof uses: of_decide_eq_true

    4 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

  7. theorem OeisA109074.a_4 line 72 source

    extra axioms: _private.0.OeisA109074.a_4._native.native_decide.ax_1 what this means

    Statement uses: Eq, Nat, OeisA109074.a, OfNat.ofNat

    Proof uses: of_decide_eq_true

    4 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

  8. def OeisA109074.trinaryLists Lists of length k with entries in {-1, 0, 1} line 77 source

    Source documentation

    Lists of length k with entries in {-1, 0, 1}.

    no axioms what this means

    Statement uses: Nat, List, Int

    2 instances, coercions and auxiliary constants left out.

    def trinaryLists : ℕ → List (List ℤ)
      | 0 => [[]]
      | k + 1 =>
        (trinaryLists k).flatMap fun xs => [(-1 : ℤ) :: xs, 0 :: xs, 1 :: xs]
    
    /--
    Checks that all prefix sums of `xs` starting from `acc` lie in `{0, 1}` and the final sum is `1`.
    -/
  9. def OeisA109074.isAsmLineAux Checks that all prefix sums of xs starting from acc lie in {0, 1} and the final sum is 1 line 85 source

    Source documentation

    Checks that all prefix sums of xs starting from acc lie in {0, 1} and the final sum is 1.

    no axioms what this means

    Statement uses: Int, List, Bool

    2 instances, coercions and auxiliary constants left out.

    def isAsmLineAux : ℤ → List ℤ → Bool
      | acc, [] => acc == 1
      | acc, x :: xs =>
        let s := acc + x
    …
  10. def OeisA109074.isAsmLine A list of integers in {-1, 0, 1} is a valid alternating sign matrix row/column if all of its prefix sums lie in {0, 1} and its total sum is 1 line 95 source

    Source documentation

    A list of integers in {-1, 0, 1} is a valid alternating sign matrix row/column if all of its prefix sums lie in {0, 1} and its total sum is 1.

    no axioms what this means

    Statement uses: List, Int, Bool

    Proof uses: OeisA109074.isAsmLineAux, OfNat.ofNat

    1 instances, coercions and auxiliary constants left out.

    def isAsmLine (xs : List ℤ) : Bool :=
    …
  11. def OeisA109074.symAsmRows All vertically symmetric alternating sign matrix rows of length 2 * n + 1 line 101 source

    Source documentation

    All vertically symmetric alternating sign matrix rows of length 2 * n + 1.

    no axioms what this means

    Statement uses: Nat, List, Int

    Proof uses: List.flatMap, List.filterMap, HAppend.hAppend, List.cons, List.nil, List.reverse, ite, Option, Eq, Bool, OeisA109074.isAsmLine, Bool.true, Option.some, Option.none, Neg.neg, OfNat.ofNat, OeisA109074.trinaryLists

    5 instances, coercions and auxiliary constants left out.

    def symAsmRows (n : ℕ) : List (List ℤ) :=
    …
  12. def OeisA109074.countVsasmRows Number of ways to complete k remaining vertically symmetric ASM rows given the current column partial sums colSums line 111 source

    Source documentation

    Number of ways to complete k remaining vertically symmetric ASM rows given the current column partial sums colSums.

    no axioms what this means

    Statement uses: List, Int, Nat

    2 instances, coercions and auxiliary constants left out.

    def countVsasmRows (rows : List (List ℤ)) : ℕ → List ℤ → ℕ
      | 0, colSums => if colSums.all (· == 1) then 1 else 0
      | k + 1, colSums =>
        let step := countVsasmRows rows k
    …
  13. def OeisA109074.b A005156 (offset 0): the number of $(2n+1) \times (2n+1)$ alternating sign matrices symmetric about the vertical axis (VSASMs) line 125 source

    Source documentation

    A005156 (offset 0): the number of $(2n+1) \times (2n+1)$ alternating sign matrices symmetric about the vertical axis (VSASMs).

    no axioms what this means

    Statement uses: Nat

    Proof uses: OeisA109074.countVsasmRows, OeisA109074.symAsmRows, HAdd.hAdd, HMul.hMul, OfNat.ofNat, List.replicate, Int

    6 instances, coercions and auxiliary constants left out.

    def b (n : ℕ) : ℕ :=
    …
  14. theorem OeisA109074.b_0 line 129 source

    no axioms what this means

    Statement uses: Eq, Nat, OeisA109074.b, OfNat.ofNat

    Proof uses: of_decide_eq_true, id, Bool, Decidable.decide, Bool.true, Eq.refl

    3 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

  15. theorem OeisA109074.b_1 line 132 source

    no axioms what this means

    Statement uses: Eq, Nat, OeisA109074.b, OfNat.ofNat

    Proof uses: of_decide_eq_true, id, Bool, Decidable.decide, Bool.true, Eq.refl

    3 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

  16. theorem OeisA109074.b_2 line 135 source

    no axioms what this means

    Statement uses: Eq, Nat, OeisA109074.b, OfNat.ofNat

    Proof uses: of_decide_eq_true, id, Bool, Decidable.decide, Bool.true, Eq.refl

    3 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

  17. theorem OeisA109074.b_3 line 138 source

    no axioms what this means

    Statement uses: Eq, Nat, OeisA109074.b, OfNat.ofNat

    Proof uses: of_decide_eq_true, id, Bool, Decidable.decide, Bool.true, Eq.refl

    3 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

  18. theorem OeisA109074.b_4 line 141 source

    extra axioms: _private.0.OeisA109074.b_4._native.native_decide.ax_1 what this means

    Statement uses: Eq, Nat, OeisA109074.b, OfNat.ofNat

    Proof uses: of_decide_eq_true

    4 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

  19. theorem OeisA109074.conjecture Documented declaration: conjecture sorry line 153 source

    Source documentation

    "It is conjectured that $\binom{6n-2}{2n} / \left(2 \binom{4n-1}{2n}\right) = \text{A005156}(n+1)/\text{A005156}(n)$."

    The OEIS comment indexes A005156 from $1$; for the $0$-indexed sequence b this states frac (n + 1) = b (n + 1) / b n. This holds by the product formula $$\text{A005156}(n) = \frac{1}{2^n} \prod_{k=1}^{n} \frac{(6k-2)!\,(2k-1)!}{(4k-1)!\,(4k-2)!}$$ conjectured by Robbins and proved by Kuperberg (2002).

    depends on sorry what this means

    Statement uses: Nat, Eq, Rat, OeisA109074.frac, HAdd.hAdd, OfNat.ofNat, HDiv.hDiv, OeisA109074.b

    Proof uses: sorryAx, Lean.Name, Bool.false, Lean.Name.num, Lean.Name.str, Lean.Name.anonymous

    14 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

    theorem conjecture (n : ℕ) :
        frac (n + 1) = (b (n + 1) : ℚ) / (b n : ℚ) := by
    …

    Mentions: OeisA109074.frac, OeisA109074.b