File: Mathlib/Algebra/MvPolynomial/Supported.lean

full_name: MvPolynomial.supported
code: /-- The set of polynomials whose variables are contained in `s` as a `Subalgebra` over `R`. -/
noncomputable def supported (s : Set σ) : Subalgebra R (MvPolynomial σ R) 
goal: Subalgebra R (MvPolynomial σ R)

full_name: MvPolynomial.supported_eq_range_rename
code: theorem supported_eq_range_rename (s : Set σ) : supported R s = (rename ((↑) : s → σ)).range 
goal: MvPolynomial.supported R s = (MvPolynomial.rename Subtype.val).range

full_name: MvPolynomial.supportedEquivMvPolynomial
code: /-- The isomorphism between the subalgebra of polynomials supported by `s` and
`MvPolynomial s R`. -/
noncomputable def supportedEquivMvPolynomial (s : Set σ) : supported R s ≃ₐ[R] MvPolynomial s R 
goal: ↥(MvPolynomial.supported R s) ≃ₐ[R] MvPolynomial (↑s) R

full_name: MvPolynomial.supportedEquivMvPolynomial_symm_C
code: @[simp]
theorem supportedEquivMvPolynomial_symm_C (s : Set σ) (x : R) :
    (supportedEquivMvPolynomial s).symm (C x) = algebraMap R (supported R s) x 
goal: (MvPolynomial.supportedEquivMvPolynomial s).symm (MvPolynomial.C x) = (algebraMap R ↥(MvPolynomial.supported R s)) x

full_name: MvPolynomial.supportedEquivMvPolynomial_symm_X
code: @[simp]
theorem supportedEquivMvPolynomial_symm_X (s : Set σ) (i : s) :
    (↑((supportedEquivMvPolynomial s).symm (X i : MvPolynomial s R)) : MvPolynomial σ R) = X ↑i 
goal: ↑((MvPolynomial.supportedEquivMvPolynomial s).symm (MvPolynomial.X i)) = MvPolynomial.X ↑i

full_name: MvPolynomial.mem_supported
code: theorem mem_supported : p ∈ supported R s ↔ ↑p.vars ⊆ s 
goal: p ∈ MvPolynomial.supported R s ↔ ↑p.vars ⊆ s

full_name: MvPolynomial.supported_eq_vars_subset
code: theorem supported_eq_vars_subset : (supported R s : Set (MvPolynomial σ R)) = { p | ↑p.vars ⊆ s } 
goal: ↑(MvPolynomial.supported R s) = {p | ↑p.vars ⊆ s}

full_name: MvPolynomial.mem_supported_vars
code: @[simp]
theorem mem_supported_vars (p : MvPolynomial σ R) : p ∈ supported R (↑p.vars : Set σ) 
goal: p ∈ MvPolynomial.supported R ↑p.vars

full_name: MvPolynomial.supported_eq_adjoin_X
code: theorem supported_eq_adjoin_X : supported R s = Algebra.adjoin R (X '' s) 
goal: MvPolynomial.supported R s = Algebra.adjoin R (MvPolynomial.X '' s)

full_name: MvPolynomial.supported_univ
code: @[simp]
theorem supported_univ : supported R (Set.univ : Set σ) = ⊤ 
goal: MvPolynomial.supported R Set.univ = ⊤

full_name: MvPolynomial.supported_empty
code: @[simp]
theorem supported_empty : supported R (∅ : Set σ) = ⊥ 
goal: MvPolynomial.supported R ∅ = ⊥

full_name: MvPolynomial.supported_mono
code: theorem supported_mono (st : s ⊆ t) : supported R s ≤ supported R t 
goal: MvPolynomial.supported R s ≤ MvPolynomial.supported R t

full_name: MvPolynomial.X_mem_supported
code: @[simp]
theorem X_mem_supported [Nontrivial R] {i : σ} : X i ∈ supported R s ↔ i ∈ s 
goal: MvPolynomial.X i ∈ MvPolynomial.supported R s ↔ i ∈ s

full_name: MvPolynomial.supported_le_supported_iff
code: @[simp]
theorem supported_le_supported_iff [Nontrivial R] : supported R s ≤ supported R t ↔ s ⊆ t 
goal: MvPolynomial.supported R s ≤ MvPolynomial.supported R t ↔ s ⊆ t

full_name: MvPolynomial.supported_strictMono
code: theorem supported_strictMono [Nontrivial R] :
    StrictMono (supported R : Set σ → Subalgebra R (MvPolynomial σ R)) 
goal: StrictMono (MvPolynomial.supported R)

full_name: MvPolynomial.exists_restrict_to_vars
code: theorem exists_restrict_to_vars (R : Type*) [CommRing R] {F : MvPolynomial σ ℤ}
    (hF : ↑F.vars ⊆ s) : ∃ f : (s → R) → R, ∀ x : σ → R, f (x ∘ (↑) : s → R) = aeval x F 
goal: ∃ f, ∀ (x : σ → R), f (x ∘ Subtype.val) = (MvPolynomial.aeval x) F