- numerator : MvPolynomial (Fin (n + 1)) ℂ
- denominator : MvPolynomial (Fin (n + 1)) ℂ
- denominator_ne_zero : self.denominator ≠ 0
Instances For
theorem
Demazure.PolyFraction'.denominator_ne_zero
{n : ℕ}
(self : Demazure.PolyFraction' n)
:
self.denominator ≠ 0
Equations
- Demazure.to_frac p = { numerator := p, denominator := 1, denominator_ne_zero := ⋯ }
Instances For
Equations
- Demazure.r n p q = (p.numerator * q.denominator = q.numerator * p.denominator)
Instances For
Equations
- Demazure.s n = { r := Demazure.r n, iseqv := ⋯ }
Equations
- Demazure.has_equiv = instHasEquivOfSetoid
theorem
Demazure.equiv_r
{n : ℕ}
{a : Demazure.PolyFraction' n}
{b : Demazure.PolyFraction' n}
:
Demazure.r n a b ↔ a ≈ b
Equations
Instances For
Equations
- Demazure.mk p = ⟦p⟧
Instances For
Equations
- Demazure.mk' p = Demazure.mk { numerator := p, denominator := 1, denominator_ne_zero := ⋯ }
Instances For
theorem
Demazure.lift_r
{n : ℕ}
{a : Demazure.PolyFraction' n}
{f : Demazure.PolyFraction' n → Demazure.PolyFraction' n}
{c : ∀ (a₁ a₂ : Demazure.PolyFraction' n), a₁ ≈ a₂ → (Demazure.mk ∘ f) a₁ = (Demazure.mk ∘ f) a₂}
:
Quotient.lift (Demazure.mk ∘ f) c (Demazure.mk a) = Demazure.mk (f a)
@[simp]
theorem
Demazure.lift2_r
{n : ℕ}
{a : Demazure.PolyFraction' n}
{b : Demazure.PolyFraction' n}
{f : Demazure.PolyFraction' n → Demazure.PolyFraction' n → Demazure.PolyFraction n}
{c : ∀ (a₁ b₁ a₂ b₂ : Demazure.PolyFraction' n), a₁ ≈ a₂ → b₁ ≈ b₂ → f a₁ b₁ = f a₂ b₂}
:
Quotient.lift₂ f c (Demazure.mk a) (Demazure.mk b) = f a b
@[simp]
theorem
Demazure.mk_eq
{n : ℕ}
{a : Demazure.PolyFraction' n}
{b : Demazure.PolyFraction' n}
:
Demazure.mk a = Demazure.mk b ↔ a.numerator * b.denominator = a.denominator * b.numerator
theorem
Demazure.get_polyfraction_rep
{n : ℕ}
(p : Demazure.PolyFraction n)
:
∃ (p' : Demazure.PolyFraction' n), Demazure.mk p' = p
Equations
- Demazure.add_mk p q = Demazure.mk (Demazure.add' p q)
Instances For
theorem
Demazure.add'_s
{n : ℕ}
(a₁ : Demazure.PolyFraction' n)
(b₁ : Demazure.PolyFraction' n)
(a₂ : Demazure.PolyFraction' n)
(b₂ : Demazure.PolyFraction' n)
:
a₁ ≈ a₂ → b₁ ≈ b₂ → Demazure.add_mk a₁ b₁ = Demazure.add_mk a₂ b₂
Equations
- Demazure.add p q = Quotient.lift₂ Demazure.add_mk ⋯ p q
Instances For
Equations
- Demazure.addition = { add := Demazure.add }
Equations
- Demazure.addition' = { add := Demazure.add' }
Equations
- Demazure.sub' p q = Demazure.mk { numerator := p.numerator * q.denominator - q.numerator * p.denominator, denominator := p.denominator * q.denominator, denominator_ne_zero := ⋯ }
Instances For
theorem
Demazure.sub'_s
{n : ℕ}
(a₁ : Demazure.PolyFraction' n)
(b₁ : Demazure.PolyFraction' n)
(a₂ : Demazure.PolyFraction' n)
(b₂ : Demazure.PolyFraction' n)
:
a₁ ≈ a₂ → b₁ ≈ b₂ → Demazure.sub' a₁ b₁ = Demazure.sub' a₂ b₂
Equations
- Demazure.sub p q = Quotient.lift₂ Demazure.sub' ⋯ p q
Instances For
Equations
- Demazure.mul' p q = { numerator := p.numerator * q.numerator, denominator := p.denominator * q.denominator, denominator_ne_zero := ⋯ }
Instances For
Equations
- Demazure.mul_mk p q = Demazure.mk (Demazure.mul' p q)
Instances For
theorem
Demazure.mul'_s
{n : ℕ}
(a₁ : Demazure.PolyFraction' n)
(b₁ : Demazure.PolyFraction' n)
(a₂ : Demazure.PolyFraction' n)
(b₂ : Demazure.PolyFraction' n)
:
a₁ ≈ a₂ → b₁ ≈ b₂ → Demazure.mul_mk a₁ b₁ = Demazure.mul_mk a₂ b₂
Equations
- Demazure.mul p q = Quotient.lift₂ Demazure.mul_mk ⋯ p q
Instances For
Equations
- Demazure.multiplication' = { mul := Demazure.mul' }
Equations
- Demazure.multiplication = { mul := Demazure.mul }
Equations
- Demazure.one' = { numerator := 1, denominator := 1, denominator_ne_zero := ⋯ }
Instances For
Equations
- Demazure.one = Demazure.mk Demazure.one'
Instances For
Equations
- Demazure.zero' = { numerator := 0, denominator := 1, denominator_ne_zero := ⋯ }
Instances For
Equations
- Demazure.zero = Demazure.mk Demazure.zero'
Instances For
Equations
- Demazure.neg' p = { numerator := -p.numerator, denominator := p.denominator, denominator_ne_zero := ⋯ }
Instances For
Equations
Instances For
theorem
Demazure.neg_s
(n : ℕ)
(a₁ : Demazure.PolyFraction' n)
(a₂ : Demazure.PolyFraction' n)
:
a₁ ≈ a₂ → Demazure.neg_mk a₁ = Demazure.neg_mk a₂
Equations
- Demazure.neg p = Quotient.lift Demazure.neg_mk ⋯ p
Instances For
@[simp]
theorem
Demazure.add_comm
{n : ℕ}
(p : Demazure.PolyFraction n)
(q : Demazure.PolyFraction n)
:
Demazure.add p q = Demazure.add q p
@[simp]
theorem
Demazure.add_assoc
{n : ℕ}
(p : Demazure.PolyFraction n)
(q : Demazure.PolyFraction n)
(r : Demazure.PolyFraction n)
:
Demazure.add (Demazure.add p q) r = Demazure.add p (Demazure.add q r)
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
Demazure.DemAux_well_defined
{n : ℕ}
(i : Fin n)
(p : Demazure.PolyFraction' n)
(q : Demazure.PolyFraction' n)
(h : p ≈ q)
:
(Demazure.mk ∘ Demazure.DemAux' i) p = (Demazure.mk ∘ Demazure.DemAux' i) q
Equations
- Demazure.DemAux i p = Quotient.lift (Demazure.mk ∘ Demazure.DemAux' i) ⋯ p
Instances For
theorem
Demazure.demazure_definitions_equivalent'
{n : ℕ}
(i : Fin n)
(p : MvPolynomial (Fin (n + 1)) ℂ)
:
Demazure.mk (Demazure.DemAux' i (Demazure.to_frac p)) = Demazure.mk' (Demazure.DemazureFun i p)
theorem
Demazure.demazure_definitions_equivalent
{n : ℕ}
(i : Fin n)
(p : MvPolynomial (Fin (n + 1)) ℂ)
:
Demazure.DemAux i (Demazure.mk' p) = Demazure.mk' (Demazure.DemazureFun i p)
theorem
Demazure.eq_zero_of_mk'_zero
{n : ℕ}
{p : MvPolynomial (Fin (n + 1)) ℂ}
:
Demazure.mk' p = Demazure.zero ↔ p = 0
theorem
Demazure.eq_of_eq_mk'
{n : ℕ}
{p : MvPolynomial (Fin (n + 1)) ℂ}
{q : MvPolynomial (Fin (n + 1)) ℂ}
:
Demazure.mk' p = Demazure.mk' q ↔ p = q
@[simp]
theorem
Demazure.simp_add
{n : ℕ}
{p : Demazure.PolyFraction n}
{q : Demazure.PolyFraction n}
:
p + q = Demazure.add p q
theorem
Demazure.mk_add
{n : ℕ}
{p : Demazure.PolyFraction' n}
{q : Demazure.PolyFraction' n}
:
Demazure.mk p + Demazure.mk q = Demazure.mk (p + q)
theorem
Demazure.mk'_add
{n : ℕ}
(p : MvPolynomial (Fin (n + 1)) ℂ)
(q : MvPolynomial (Fin (n + 1)) ℂ)
:
Demazure.mk' (p + q) = Demazure.mk' p + Demazure.mk' q
@[simp]
@[simp]
theorem
Demazure.simp_mul
{n : ℕ}
{p : Demazure.PolyFraction n}
{q : Demazure.PolyFraction n}
:
p * q = Demazure.mul p q
theorem
Demazure.mk_mul
{n : ℕ}
{p : Demazure.PolyFraction' n}
{q : Demazure.PolyFraction' n}
:
Demazure.mk p * Demazure.mk q = Demazure.mk (p * q)
theorem
Demazure.mk'_mul
{n : ℕ}
{p : MvPolynomial (Fin (n + 1)) ℂ}
{q : MvPolynomial (Fin (n + 1)) ℂ}
:
Demazure.mk' p * Demazure.mk' q = Demazure.mk' (p * q)