FormalConjecturesForMathlib/Algebra/MvPolynomial/PoissonBracket.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

7 declarations, 0 contain sorry, 0 declared as axioms

The canonical Poisson bracket on a polynomial algebra in $2n$ variables

For a commutative ring R and a finite type σ, we equip MvPolynomial (σ ⊕ σ) R with its canonical Poisson bracket $$\{f, g\} = \sum_{i} \left(\frac{\partial f}{\partial x_i}\frac{\partial g}{\partial y_i} - \frac{\partial f}{\partial y_i}\frac{\partial g}{\partial x_i}\right),$$ where $x_i$ (resp. $y_i$) denotes the variable indexed by Sum.inl i (resp. Sum.inr i). This is the polynomial algebra underlying the n-th canonical Poisson algebra $P_n(R)$ when σ = Fin n.

Classical sources index the same object by $2n$ variables $X_1, \dots, X_{2n}$ with bracket ${f, g} = \sum_{i=1}^n (\partial f/\partial X_i \cdot \partial g/\partial X_{i+n}

Imports (2)
Imported by 1 file
  1. def MvPolynomial.poissonBracket Documented declaration: poissonBracket line 49 source

    Source documentation

    The canonical Poisson bracket on MvPolynomial (σ ⊕ σ) R, given by ${f, g} = \sum_{i} (\partial_{x_i} f \cdot \partial_{y_i} g

    • \partial_{y_i} f \cdot \partial_{x_i} g)$ where $x_i$ (resp. $y_i$) is the variable indexed by Sum.inl i (resp. Sum.inr i).

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

    Statement uses: CommRing, Fintype, MvPolynomial, Sum

    Proof uses: Finset.sum, Finsupp, Nat, Finset.univ, HSub.hSub, HMul.hMul, Derivation, MvPolynomial.pderiv, Sum.inl, Sum.inr

    29 instances, coercions and auxiliary constants left out.

    noncomputable def poissonBracket (f g : MvPolynomial (σ ⊕ σ) R) : MvPolynomial (σ ⊕ σ) R :=
    …
  2. theorem MvPolynomial.poissonBracket_self line 54 source

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

    Statement uses: CommRing, Fintype, MvPolynomial, Sum, Eq, MvPolynomial.poissonBracket, OfNat.ofNat, Finsupp, Nat

    Proof uses: Finset.sum_eq_zero, Finset.univ, HSub.hSub, HMul.hMul, Derivation, MvPolynomial.pderiv, Sum.inl, Sum.inr, Membership.mem, Finset, Eq.mpr, id, congrArg, mul_comm, sub_self, Eq.refl

    49 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

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

  3. theorem MvPolynomial.poissonBracket_swap line 57 source

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

    Statement uses: CommRing, Fintype, MvPolynomial, Sum, Eq, MvPolynomial.poissonBracket, Neg.neg, Finsupp, Nat

    Proof uses: Eq.mpr, Finset.sum, Finset.univ, HSub.hSub, HMul.hMul, Derivation, MvPolynomial.pderiv, Sum.inl, Sum.inr, id, congrArg, Eq.symm, Finset.sum_neg_distrib, Finset.sum_congr, rfl, Finset, Membership.mem, Mathlib.Tactic.Ring.of_eq, HAdd.hAdd, HPow.hPow and 36 more

    64 instances, coercions and auxiliary constants left out.

    Tactic trace: 3 steps

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

  4. theorem MvPolynomial.poissonBracket_X_inl_inl line 63 source

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

    Statement uses: CommRing, Fintype, Eq, MvPolynomial, Sum, MvPolynomial.poissonBracket, MvPolynomial.X, Sum.inl, OfNat.ofNat, Finsupp, Nat

    Proof uses: Finset.sum_eq_zero, Finset.univ, HSub.hSub, HMul.hMul, Derivation, MvPolynomial.pderiv, Sum.inr, Membership.mem, Finset, Eq.mpr, id, congrArg, MvPolynomial.pderiv_X_of_ne, Ne, of_eq_true, Not, Eq.trans, False, True, eq_false' and 8 more

    46 instances, coercions and auxiliary constants left out.

    Tactic trace: 3 steps

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

  5. theorem MvPolynomial.poissonBracket_X_inr_inr line 71 source

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

    Statement uses: CommRing, Fintype, Eq, MvPolynomial, Sum, MvPolynomial.poissonBracket, MvPolynomial.X, Sum.inr, OfNat.ofNat, Finsupp, Nat

    Proof uses: Finset.sum_eq_zero, Finset.univ, HSub.hSub, HMul.hMul, Derivation, MvPolynomial.pderiv, Sum.inl, Membership.mem, Finset, Eq.mpr, id, congrArg, MvPolynomial.pderiv_X_of_ne, Ne, of_eq_true, Not, Eq.trans, False, True, eq_false' and 8 more

    46 instances, coercions and auxiliary constants left out.

    Tactic trace: 3 steps

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

  6. theorem MvPolynomial.poissonBracket_X_inl_inr line 79 source

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

    Statement uses: CommRing, Fintype, DecidableEq, Eq, MvPolynomial, Sum, MvPolynomial.poissonBracket, MvPolynomial.X, Sum.inl, Sum.inr, ite, OfNat.ofNat, Finsupp, Nat

    Proof uses: Eq.mpr, Finset.sum, Finset.univ, HSub.hSub, HMul.hMul, Derivation, MvPolynomial.pderiv, id, congrArg, Finset.sum_eq_single, Membership.mem, Finset, Ne, MvPolynomial.pderiv_X_of_ne, Not, Sum.inl.injEq, Ne.symm, of_eq_true, Eq.trans, False and 27 more

    71 instances, coercions and auxiliary constants left out.

    Tactic trace: 18 steps

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

  7. theorem MvPolynomial.poissonBracket_X_inr_inl line 96 source

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

    Statement uses: CommRing, Fintype, DecidableEq, Eq, MvPolynomial, Sum, MvPolynomial.poissonBracket, MvPolynomial.X, Sum.inr, Sum.inl, ite, Neg.neg, Finsupp, Nat, OfNat.ofNat

    Proof uses: Eq.mpr, id, congrArg, MvPolynomial.poissonBracket_swap, MvPolynomial.poissonBracket_X_inl_inr, dite, congrFun', if_pos, of_eq_true, eq_self, Not, if_neg, False.elim, Eq.mp, False, Eq.trans, True, eq_false, not_false_eq_true, not_true_eq_false and 1 more

    40 instances, coercions and auxiliary constants left out.

    Tactic trace: 3 steps

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