ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- LinearPMap.smul_apply
theorem smul_apply (a : M) (f : E →ₗ.[R] F) (x : (a • f).domain) : (a • f) x = a • f x 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] {M : Type u_5} [Monoid M] [DistribMulAction M F] [SMulCommClass R M F] (a : M) (f : E →ₗ.[R] F) (x : ↥(a • f).domain)
Goal: ↑(a • f) x = a • ↑f x
-- LinearPMap.coe_smul
@[simp]
theorem coe_smul (a : M) (f : E →ₗ.[R] F) : ⇑(a • f) = a • ⇑f 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] {M : Type u_5} [Monoid M] [DistribMulAction M F] [SMulCommClass R M F] (a : M) (f : E →ₗ.[R] F)
Goal: ↑(a • f) = a • ↑f
-- LinearPMap.neg_domain
@[simp]
theorem neg_domain (f : E →ₗ.[R] F) : (-f).domain = f.domain 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] (f : E →ₗ.[R] F)
Goal: (-f).domain = f.domain
-- LinearPMap.neg_apply
@[simp]
theorem neg_apply (f : E →ₗ.[R] F) (x) : (-f) x = -f x 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] (f : E →ₗ.[R] F) (x : ↥(-f).domain)
Goal: ↑(-f) x = -↑f x
-- LinearPMap.add_domain
theorem add_domain (f g : E →ₗ.[R] F) : (f + g).domain = f.domain ⊓ g.domain 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] (f g : E →ₗ.[R] F)
Goal: (f + g).domain = f.domain ⊓ g.domain
-- LinearPMap.add_apply
theorem add_apply (f g : E →ₗ.[R] F) (x : (f.domain ⊓ g.domain : Submodule R E)) :
    (f + g) x = f ⟨x, x.prop.1⟩ + g ⟨x, x.prop.2⟩ 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] (f g : E →ₗ.[R] F) (x : ↥(f.domain ⊓ g.domain))
Goal: ↑(f + g) x = ↑f ⟨↑x, ⋯⟩ + ↑g ⟨↑x, ⋯⟩
-- LinearPMap.vadd_domain
@[simp]
theorem vadd_domain (f : E →ₗ[R] F) (g : E →ₗ.[R] F) : (f +ᵥ g).domain = g.domain 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] (f : E →ₗ[R] F) (g : E →ₗ.[R] F)
Goal: (f +ᵥ g).domain = g.domain
-- LinearPMap.vadd_apply
theorem vadd_apply (f : E →ₗ[R] F) (g : E →ₗ.[R] F) (x : (f +ᵥ g).domain) :
    (f +ᵥ g) x = f x + g x 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] (f : E →ₗ[R] F) (g : E →ₗ.[R] F) (x : ↥(f +ᵥ g).domain)
Goal: ↑(f +ᵥ g) x = f ↑x + ↑g x
-- LinearPMap.coe_vadd
@[simp]
theorem coe_vadd (f : E →ₗ[R] F) (g : E →ₗ.[R] F) : ⇑(f +ᵥ g) = ⇑(f.comp g.domain.subtype) + ⇑g 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] (f : E →ₗ[R] F) (g : E →ₗ.[R] F)
Goal: ↑(f +ᵥ g) = ⇑(f ∘ₗ g.domain.subtype) + ↑g
-- LinearPMap.sub_domain
theorem sub_domain (f g : E →ₗ.[R] F) : (f - g).domain = f.domain ⊓ g.domain 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] (f g : E →ₗ.[R] F)
Goal: (f - g).domain = f.domain ⊓ g.domain
-- LinearPMap.sub_apply
theorem sub_apply (f g : E →ₗ.[R] F) (x : (f.domain ⊓ g.domain : Submodule R E)) :
    (f - g) x = f ⟨x, x.prop.1⟩ - g ⟨x, x.prop.2⟩ 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] (f g : E →ₗ.[R] F) (x : ↥(f.domain ⊓ g.domain))
Goal: ↑(f - g) x = ↑f ⟨↑x, ⋯⟩ - ↑g ⟨↑x, ⋯⟩
-- LinearPMap.domain_supSpanSingleton
@[simp]
theorem domain_supSpanSingleton (f : E →ₗ.[K] F) (x : E) (y : F) (hx : x ∉ f.domain) :
    (f.supSpanSingleton x y hx).domain = f.domain ⊔ K ∙ x 
Arguments: {E : Type u_2} [AddCommGroup E] {F : Type u_3} [AddCommGroup F] {K : Type u_5} [DivisionRing K] [Module K E] [Module K F] (f : E →ₗ.[K] F) (x : E) (y : F) (hx : x ∉ f.domain)
Goal: (f.supSpanSingleton x y hx).domain = f.domain ⊔ Submodule.span K {x}
-- LinearPMap.supSpanSingleton_apply_mk
@[simp]
theorem supSpanSingleton_apply_mk (f : E →ₗ.[K] F) (x : E) (y : F) (hx : x ∉ f.domain) (x' : E)
    (hx' : x' ∈ f.domain) (c : K) :
    f.supSpanSingleton x y hx
        ⟨x' + c • x, mem_sup.2 ⟨x', hx', _, mem_span_singleton.2 ⟨c, rfl⟩, rfl⟩⟩ =
      f ⟨x', hx'⟩ + c • y 
Arguments: {E : Type u_2} [AddCommGroup E] {F : Type u_3} [AddCommGroup F] {K : Type u_5} [DivisionRing K] [Module K E] [Module K F] (f : E →ₗ.[K] F) (x : E) (y : F) (hx : x ∉ f.domain) (x' : E) (hx' : x' ∈ f.domain) (c : K)
Goal: ↑(f.supSpanSingleton x y hx) ⟨x' + c • x, ⋯⟩ = ↑f ⟨x', hx'⟩ + c • y
-- _private.Mathlib.LinearAlgebra.LinearPMap.0.LinearPMap.sSup_aux
private theorem sSup_aux (c : Set (E →ₗ.[R] F)) (hc : DirectedOn (· ≤ ·) c) :
    ∃ f : ↥(sSup (domain '' c)) →ₗ[R] F, (⟨_, f⟩ : E →ₗ.[R] F) ∈ upperBounds c 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] (c : Set (E →ₗ.[R] F)) (hc : DirectedOn (fun x x_1 => x ≤ x_1) c)
Goal: ∃ f, { domain := sSup (LinearPMap.domain '' c), toFun := f } ∈ upperBounds c
-- LinearPMap.le_sSup
protected theorem le_sSup {c : Set (E →ₗ.[R] F)} (hc : DirectedOn (· ≤ ·) c) {f : E →ₗ.[R] F}
    (hf : f ∈ c) : f ≤ LinearPMap.sSup c hc 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] {c : Set (E →ₗ.[R] F)} (hc : DirectedOn (fun x x_1 => x ≤ x_1) c) {f : E →ₗ.[R] F} (hf : f ∈ c)
Goal: f ≤ LinearPMap.sSup c hc
-- LinearPMap.sSup_le
protected theorem sSup_le {c : Set (E →ₗ.[R] F)} (hc : DirectedOn (· ≤ ·) c) {g : E →ₗ.[R] F}
    (hg : ∀ f ∈ c, f ≤ g) : LinearPMap.sSup c hc ≤ g 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] {c : Set (E →ₗ.[R] F)} (hc : DirectedOn (fun x x_1 => x ≤ x_1) c) {g : E →ₗ.[R] F} (hg : ∀ f ∈ c, f ≤ g)
Goal: LinearPMap.sSup c hc ≤ g
-- LinearPMap.sSup_apply
protected theorem sSup_apply {c : Set (E →ₗ.[R] F)} (hc : DirectedOn (· ≤ ·) c) {l : E →ₗ.[R] F}
    (hl : l ∈ c) (x : l.domain) :
    (LinearPMap.sSup c hc) ⟨x, (LinearPMap.le_sSup hc hl).1 x.2⟩ = l x 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] {c : Set (E →ₗ.[R] F)} (hc : DirectedOn (fun x x_1 => x ≤ x_1) c) {l : E →ₗ.[R] F} (hl : l ∈ c) (x : ↥l.domain)
Goal: ↑(LinearPMap.sSup c hc) ⟨↑x, ⋯⟩ = ↑l x
-- LinearMap.toPMap_apply
@[simp]
theorem toPMap_apply (f : E →ₗ[R] F) (p : Submodule R E) (x : p) : f.toPMap p x = f x 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] (f : E →ₗ[R] F) (p : Submodule R E) (x : ↥p)
Goal: ↑(f.toPMap p) x = f ↑x
-- LinearMap.toPMap_domain
@[simp]
theorem toPMap_domain (f : E →ₗ[R] F) (p : Submodule R E) : (f.toPMap p).domain = p 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] (f : E →ₗ[R] F) (p : Submodule R E)
Goal: (f.toPMap p).domain = p
-- LinearMap.compPMap_apply
@[simp]
theorem compPMap_apply (g : F →ₗ[R] G) (f : E →ₗ.[R] F) (x) : g.compPMap f x = g (f x) 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] {G : Type u_4} [AddCommGroup G] [Module R G] (g : F →ₗ[R] G) (f : E →ₗ.[R] F) (x : ↥(g.compPMap f).domain)
Goal: ↑(g.compPMap f) x = g (↑f x)
-- LinearPMap.coprod_apply
@[simp]
theorem coprod_apply (f : E →ₗ.[R] G) (g : F →ₗ.[R] G) (x) :
    f.coprod g x = f ⟨(x : E × F).1, x.2.1⟩ + g ⟨(x : E × F).2, x.2.2⟩ 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] {G : Type u_4} [AddCommGroup G] [Module R G] (f : E →ₗ.[R] G) (g : F →ₗ.[R] G) (x : ↥(f.coprod g).domain)
Goal: ↑(f.coprod g) x = ↑f ⟨(↑x).1, ⋯⟩ + ↑g ⟨(↑x).2, ⋯⟩
-- LinearPMap.domRestrict_domain
@[simp]
theorem domRestrict_domain (f : E →ₗ.[R] F) {S : Submodule R E} :
    (f.domRestrict S).domain = S ⊓ f.domain 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] (f : E →ₗ.[R] F) {S : Submodule R E}
Goal: (f.domRestrict S).domain = S ⊓ f.domain
-- LinearPMap.domRestrict_apply
theorem domRestrict_apply {f : E →ₗ.[R] F} {S : Submodule R E} ⦃x : ↥(S ⊓ f.domain)⦄ ⦃y : f.domain⦄
    (h : (x : E) = y) : f.domRestrict S x = f y 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] {f : E →ₗ.[R] F} {S : Submodule R E} ⦃x : ↥(S ⊓ f.domain)⦄ ⦃y : ↥f.domain⦄ (h : ↑x = ↑y)
Goal: ↑(f.domRestrict S) x = ↑f y
-- LinearPMap.domRestrict_le
theorem domRestrict_le {f : E →ₗ.[R] F} {S : Submodule R E} : f.domRestrict S ≤ f 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] {f : E →ₗ.[R] F} {S : Submodule R E}
Goal: f.domRestrict S ≤ f
-- LinearPMap.mem_graph_iff'
theorem mem_graph_iff' (f : E →ₗ.[R] F) {x : E × F} :
    x ∈ f.graph ↔ ∃ y : f.domain, (↑y, f y) = x 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] (f : E →ₗ.[R] F) {x : E × F}
Goal: x ∈ f.graph ↔ ∃ y, (↑y, ↑f y) = x
-- LinearPMap.mem_graph_iff
@[simp]
theorem mem_graph_iff (f : E →ₗ.[R] F) {x : E × F} :
    x ∈ f.graph ↔ ∃ y : f.domain, (↑y : E) = x.1 ∧ f y = x.2 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] (f : E →ₗ.[R] F) {x : E × F}
Goal: x ∈ f.graph ↔ ∃ y, ↑y = x.1 ∧ ↑f y = x.2
-- LinearPMap.mem_graph
theorem mem_graph (f : E →ₗ.[R] F) (x : domain f) : ((x : E), f x) ∈ f.graph 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] (f : E →ₗ.[R] F) (x : ↥f.domain)
Goal: (↑x, ↑f x) ∈ f.graph
-- LinearPMap.graph_map_fst_eq_domain
theorem graph_map_fst_eq_domain (f : E →ₗ.[R] F) :
    f.graph.map (LinearMap.fst R E F) = f.domain 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] (f : E →ₗ.[R] F)
Goal: Submodule.map (LinearMap.fst R E F) f.graph = f.domain
-- LinearPMap.graph_map_snd_eq_range
theorem graph_map_snd_eq_range (f : E →ₗ.[R] F) :
    f.graph.map (LinearMap.snd R E F) = LinearMap.range f.toFun 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] (f : E →ₗ.[R] F)
Goal: Submodule.map (LinearMap.snd R E F) f.graph = LinearMap.range f.toFun
-- LinearPMap.smul_graph
theorem smul_graph (f : E →ₗ.[R] F) (z : M) :
    (z • f).graph =
      f.graph.map ((LinearMap.id : E →ₗ[R] E).prodMap (z • (LinearMap.id : F →ₗ[R] F))) 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] {M : Type u_5} [Monoid M] [DistribMulAction M F] [SMulCommClass R M F] (f : E →ₗ.[R] F) (z : M)
Goal: (z • f).graph = Submodule.map (LinearMap.id.prodMap (z • LinearMap.id)) f.graph
-- LinearPMap.neg_graph
theorem neg_graph (f : E →ₗ.[R] F) :
    (-f).graph =
    f.graph.map ((LinearMap.id : E →ₗ[R] E).prodMap (-(LinearMap.id : F →ₗ[R] F))) 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] (f : E →ₗ.[R] F)
Goal: (-f).graph = Submodule.map (LinearMap.id.prodMap (-LinearMap.id)) f.graph
-- LinearPMap.mem_graph_snd_inj
theorem mem_graph_snd_inj (f : E →ₗ.[R] F) {x y : E} {x' y' : F} (hx : (x, x') ∈ f.graph)
    (hy : (y, y') ∈ f.graph) (hxy : x = y) : x' = y' 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] (f : E →ₗ.[R] F) {x y : E} {x' y' : F} (hx : (x, x') ∈ f.graph) (hy : (y, y') ∈ f.graph) (hxy : x = y)
Goal: x' = y'
-- LinearPMap.mem_graph_snd_inj'
theorem mem_graph_snd_inj' (f : E →ₗ.[R] F) {x y : E × F} (hx : x ∈ f.graph) (hy : y ∈ f.graph)
    (hxy : x.1 = y.1) : x.2 = y.2 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] (f : E →ₗ.[R] F) {x y : E × F} (hx : x ∈ f.graph) (hy : y ∈ f.graph) (hxy : x.1 = y.1)
Goal: x.2 = y.2
-- LinearPMap.graph_fst_eq_zero_snd
theorem graph_fst_eq_zero_snd (f : E →ₗ.[R] F) {x : E} {x' : F} (h : (x, x') ∈ f.graph)
    (hx : x = 0) : x' = 0 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] (f : E →ₗ.[R] F) {x : E} {x' : F} (h : (x, x') ∈ f.graph) (hx : x = 0)
Goal: x' = 0
-- LinearPMap.mem_domain_iff
theorem mem_domain_iff {f : E →ₗ.[R] F} {x : E} : x ∈ f.domain ↔ ∃ y : F, (x, y) ∈ f.graph 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] {f : E →ₗ.[R] F} {x : E}
Goal: x ∈ f.domain ↔ ∃ y, (x, y) ∈ f.graph
-- LinearPMap.mem_domain_of_mem_graph
theorem mem_domain_of_mem_graph {f : E →ₗ.[R] F} {x : E} {y : F} (h : (x, y) ∈ f.graph) :
    x ∈ f.domain 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] {f : E →ₗ.[R] F} {x : E} {y : F} (h : (x, y) ∈ f.graph)
Goal: x ∈ f.domain
-- LinearPMap.image_iff
theorem image_iff {f : E →ₗ.[R] F} {x : E} {y : F} (hx : x ∈ f.domain) :
    y = f ⟨x, hx⟩ ↔ (x, y) ∈ f.graph 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] {f : E →ₗ.[R] F} {x : E} {y : F} (hx : x ∈ f.domain)
Goal: y = ↑f ⟨x, hx⟩ ↔ (x, y) ∈ f.graph
-- LinearPMap.mem_range_iff
theorem mem_range_iff {f : E →ₗ.[R] F} {y : F} : y ∈ Set.range f ↔ ∃ x : E, (x, y) ∈ f.graph 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] {f : E →ₗ.[R] F} {y : F}
Goal: y ∈ Set.range ↑f ↔ ∃ x, (x, y) ∈ f.graph
-- LinearPMap.mem_domain_iff_of_eq_graph
theorem mem_domain_iff_of_eq_graph {f g : E →ₗ.[R] F} (h : f.graph = g.graph) {x : E} :
    x ∈ f.domain ↔ x ∈ g.domain 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] {f g : E →ₗ.[R] F} (h : f.graph = g.graph) {x : E}
Goal: x ∈ f.domain ↔ x ∈ g.domain
-- LinearPMap.le_of_le_graph
theorem le_of_le_graph {f g : E →ₗ.[R] F} (h : f.graph ≤ g.graph) : f ≤ g 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] {f g : E →ₗ.[R] F} (h : f.graph ≤ g.graph)
Goal: f ≤ g
-- LinearPMap.le_graph_of_le
theorem le_graph_of_le {f g : E →ₗ.[R] F} (h : f ≤ g) : f.graph ≤ g.graph 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] {f g : E →ₗ.[R] F} (h : f ≤ g)
Goal: f.graph ≤ g.graph
-- LinearPMap.le_graph_iff
theorem le_graph_iff {f g : E →ₗ.[R] F} : f.graph ≤ g.graph ↔ f ≤ g 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] {f g : E →ₗ.[R] F}
Goal: f.graph ≤ g.graph ↔ f ≤ g
-- LinearPMap.eq_of_eq_graph
theorem eq_of_eq_graph {f g : E →ₗ.[R] F} (h : f.graph = g.graph) : f = g 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] {f g : E →ₗ.[R] F} (h : f.graph = g.graph)
Goal: f = g
-- Submodule.existsUnique_from_graph
theorem existsUnique_from_graph {g : Submodule R (E × F)}
    (hg : ∀ {x : E × F} (_hx : x ∈ g) (_hx' : x.fst = 0), x.snd = 0) {a : E}
    (ha : a ∈ g.map (LinearMap.fst R E F)) : ∃! b : F, (a, b) ∈ g 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] {g : Submodule R (E × F)} (hg : ∀ {x : E × F}, x ∈ g → x.1 = 0 → x.2 = 0) {a : E} (ha : a ∈ Submodule.map (LinearMap.fst R E F) g)
Goal: ∃! b, (a, b) ∈ g
-- Submodule.valFromGraph_mem
theorem valFromGraph_mem {g : Submodule R (E × F)}
    (hg : ∀ (x : E × F) (_hx : x ∈ g) (_hx' : x.fst = 0), x.snd = 0) {a : E}
    (ha : a ∈ g.map (LinearMap.fst R E F)) : (a, valFromGraph hg ha) ∈ g 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] {g : Submodule R (E × F)} (hg : ∀ x ∈ g, x.1 = 0 → x.2 = 0) {a : E} (ha : a ∈ Submodule.map (LinearMap.fst R E F) g)
Goal: (a, Submodule.valFromGraph hg ha) ∈ g
-- Submodule.toLinearPMap_domain
theorem toLinearPMap_domain (g : Submodule R (E × F)) :
    g.toLinearPMap.domain = g.map (LinearMap.fst R E F) 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] (g : Submodule R (E × F))
Goal: g.toLinearPMap.domain = Submodule.map (LinearMap.fst R E F) g
-- Submodule.toLinearPMap_apply_aux
theorem toLinearPMap_apply_aux {g : Submodule R (E × F)}
    (hg : ∀ (x : E × F) (_hx : x ∈ g) (_hx' : x.fst = 0), x.snd = 0)
    (x : g.map (LinearMap.fst R E F)) :
    g.toLinearPMap x = valFromGraph hg x.2 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] {g : Submodule R (E × F)} (hg : ∀ x ∈ g, x.1 = 0 → x.2 = 0) (x : ↥(Submodule.map (LinearMap.fst R E F) g))
Goal: ↑g.toLinearPMap x = Submodule.valFromGraph hg ⋯
-- Submodule.mem_graph_toLinearPMap
theorem mem_graph_toLinearPMap {g : Submodule R (E × F)}
    (hg : ∀ (x : E × F) (_hx : x ∈ g) (_hx' : x.fst = 0), x.snd = 0)
    (x : g.map (LinearMap.fst R E F)) : (x.val, g.toLinearPMap x) ∈ g 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] {g : Submodule R (E × F)} (hg : ∀ x ∈ g, x.1 = 0 → x.2 = 0) (x : ↥(Submodule.map (LinearMap.fst R E F) g))
Goal: (↑x, ↑g.toLinearPMap x) ∈ g
-- Submodule.toLinearPMap_graph_eq
@[simp]
theorem toLinearPMap_graph_eq (g : Submodule R (E × F))
    (hg : ∀ (x : E × F) (_hx : x ∈ g) (_hx' : x.fst = 0), x.snd = 0) :
    g.toLinearPMap.graph = g 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] (g : Submodule R (E × F)) (hg : ∀ x ∈ g, x.1 = 0 → x.2 = 0)
Goal: g.toLinearPMap.graph = g
-- Submodule.toLinearPMap_range
theorem toLinearPMap_range (g : Submodule R (E × F))
    (hg : ∀ (x : E × F) (_hx : x ∈ g) (_hx' : x.fst = 0), x.snd = 0) :
    LinearMap.range g.toLinearPMap.toFun = g.map (LinearMap.snd R E F) 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] (g : Submodule R (E × F)) (hg : ∀ x ∈ g, x.1 = 0 → x.2 = 0)
Goal: LinearMap.range g.toLinearPMap.toFun = Submodule.map (LinearMap.snd R E F) g
-- LinearPMap.inverse_domain
theorem inverse_domain : (inverse f).domain = LinearMap.range f.toFun 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] {f : E →ₗ.[R] F}
Goal: f.inverse.domain = LinearMap.range f.toFun
-- LinearPMap.mem_inverse_graph_snd_eq_zero
theorem mem_inverse_graph_snd_eq_zero (x : F × E)
    (hv : x ∈ (graph f).map (LinearEquiv.prodComm R E F))
    (hv' : x.fst = 0) : x.snd = 0 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] {f : E →ₗ.[R] F} (hf : LinearMap.ker f.toFun = ⊥) (x : F × E) (hv : x ∈ Submodule.map (LinearEquiv.prodComm R E F) f.graph) (hv' : x.1 = 0)
Goal: x.2 = 0
-- LinearPMap.inverse_graph
theorem inverse_graph : (inverse f).graph = f.graph.map (LinearEquiv.prodComm R E F) 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] {f : E →ₗ.[R] F} (hf : LinearMap.ker f.toFun = ⊥)
Goal: f.inverse.graph = Submodule.map (LinearEquiv.prodComm R E F) f.graph
-- LinearPMap.inverse_range
theorem inverse_range : LinearMap.range (inverse f).toFun = f.domain 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] {f : E →ₗ.[R] F} (hf : LinearMap.ker f.toFun = ⊥)
Goal: LinearMap.range f.inverse.toFun = f.domain
-- LinearPMap.mem_inverse_graph
theorem mem_inverse_graph (x : f.domain) : (f x, (x : E)) ∈ (inverse f).graph 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] {f : E →ₗ.[R] F} (hf : LinearMap.ker f.toFun = ⊥) (x : ↥f.domain)
Goal: (↑f x, ↑x) ∈ f.inverse.graph
-- LinearPMap.inverse_apply_eq
theorem inverse_apply_eq {y : (inverse f).domain} {x : f.domain} (hxy : f x = y) :
    (inverse f) y = x 
Arguments: {R : Type u_1} [Ring R] {E : Type u_2} [AddCommGroup E] [Module R E] {F : Type u_3} [AddCommGroup F] [Module R F] {f : E →ₗ.[R] F} (hf : LinearMap.ker f.toFun = ⊥) {y : ↥f.inverse.domain} {x : ↥f.domain} (hxy : ↑f x = ↑y)
Goal: ↑f.inverse y = ↑x
-- Polynomial.Gal.ext
@[ext]
theorem ext {σ τ : p.Gal} (h : ∀ x ∈ p.rootSet p.SplittingField, σ x = τ x) : σ = τ 
Arguments: {F : Type u_1} [Field F] (p : F[X]) {σ τ : p.Gal} (h : ∀ x ∈ p.rootSet p.SplittingField, σ x = τ x)
Goal: σ = τ
-- Polynomial.Gal.restrict_surjective
theorem restrict_surjective [Fact (p.Splits (algebraMap F E))] [Normal F E] :
    Function.Surjective (restrict p E) 
Arguments: {F : Type u_1} [Field F] (p : F[X]) (E : Type u_2) [Field E] [Algebra F E] [Fact (Polynomial.Splits (algebraMap F E) p)] [Normal F E]
Goal: Function.Surjective ⇑(Polynomial.Gal.restrict p E)
-- Polynomial.Gal.mapRoots_bijective
theorem mapRoots_bijective [h : Fact (p.Splits (algebraMap F E))] :
    Function.Bijective (mapRoots p E) 
Arguments: {F : Type u_1} [Field F] (p : F[X]) (E : Type u_2) [Field E] [Algebra F E] [h : Fact (Polynomial.Splits (algebraMap F E) p)]
Goal: Function.Bijective (Polynomial.Gal.mapRoots p E)
-- Polynomial.Gal.smul_def
theorem smul_def [Fact (p.Splits (algebraMap F E))] (ϕ : p.Gal) (x : rootSet p E) :
    ϕ • x = rootsEquivRoots p E (ϕ • (rootsEquivRoots p E).symm x) 
Arguments: {F : Type u_1} [Field F] (p : F[X]) (E : Type u_2) [Field E] [Algebra F E] [Fact (Polynomial.Splits (algebraMap F E) p)] (ϕ : p.Gal) (x : ↑(p.rootSet E))
Goal: ϕ • x = (Polynomial.Gal.rootsEquivRoots p E) (ϕ • (Polynomial.Gal.rootsEquivRoots p E).symm x)
-- Polynomial.Gal.galAction_isPretransitive
lemma galAction_isPretransitive [Fact (p.Splits (algebraMap F E))] (hp : Irreducible p) :
    MulAction.IsPretransitive p.Gal (p.rootSet E) 
Arguments: {F : Type u_1} [Field F] (p : F[X]) (E : Type u_2) [Field E] [Algebra F E] [Fact (Polynomial.Splits (algebraMap F E) p)] (hp : Irreducible p)
Goal: MulAction.IsPretransitive p.Gal ↑(p.rootSet E)
-- Polynomial.Gal.restrict_smul
@[simp]
theorem restrict_smul [Fact (p.Splits (algebraMap F E))] (ϕ : E ≃ₐ[F] E) (x : rootSet p E) :
    ↑(restrict p E ϕ • x) = ϕ x 
Arguments: {F : Type u_1} [Field F] {p : F[X]} {E : Type u_2} [Field E] [Algebra F E] [Fact (Polynomial.Splits (algebraMap F E) p)] (ϕ : E ≃ₐ[F] E) (x : ↑(p.rootSet E))
Goal: ↑((Polynomial.Gal.restrict p E) ϕ • x) = ϕ ↑x
-- Polynomial.Gal.galActionHom_restrict
theorem galActionHom_restrict [Fact (p.Splits (algebraMap F E))] (ϕ : E ≃ₐ[F] E) (x : rootSet p E) :
    ↑(galActionHom p E (restrict p E ϕ) x) = ϕ x 
Arguments: {F : Type u_1} [Field F] (p : F[X]) (E : Type u_2) [Field E] [Algebra F E] [Fact (Polynomial.Splits (algebraMap F E) p)] (ϕ : E ≃ₐ[F] E) (x : ↑(p.rootSet E))
Goal: ↑(((Polynomial.Gal.galActionHom p E) ((Polynomial.Gal.restrict p E) ϕ)) x) = ϕ ↑x
-- Polynomial.Gal.galActionHom_injective
theorem galActionHom_injective [Fact (p.Splits (algebraMap F E))] :
    Function.Injective (galActionHom p E) 
Arguments: {F : Type u_1} [Field F] (p : F[X]) (E : Type u_2) [Field E] [Algebra F E] [Fact (Polynomial.Splits (algebraMap F E) p)]
Goal: Function.Injective ⇑(Polynomial.Gal.galActionHom p E)