@@ -525,17 +525,49 @@ theorem adjoin_union (s t : Set A) : adjoin R (s ∪ t) = adjoin R s ⊔ adjoin
525
525
variable (R A)
526
526
527
527
@[simp]
528
- theorem adjoin_empty : adjoin R (∅ : Set A) = ⊥ :=
529
- show adjoin R ⊥ = ⊥ by
530
- apply GaloisConnection.l_bot
531
- exact Algebra.gc
528
+ theorem adjoin_empty : adjoin R (∅ : Set A) = ⊥ := Algebra.gc.l_bot
532
529
533
530
@[simp]
534
- theorem adjoin_univ : adjoin R (Set.univ : Set A) = ⊤ :=
535
- eq_top_iff.2 fun _x => subset_adjoin <| Set.mem_univ _
531
+ theorem adjoin_univ : adjoin R (Set.univ : Set A) = ⊤ := Algebra.gi.l_top
532
+
533
+ variable {R} in
534
+ @[simp]
535
+ theorem adjoin_singleton_algebraMap (x : R) : adjoin R {algebraMap R A x} = ⊥ :=
536
+ bot_unique <| adjoin_le <| Set.singleton_subset_iff.mpr <| Subalgebra.algebraMap_mem _ _
537
+
538
+ @[simp]
539
+ theorem adjoin_singleton_natCast (n : ℕ) : adjoin R {(n : A)} = ⊥ := by
540
+ simpa using adjoin_singleton_algebraMap A (n : R)
541
+
542
+ @[simp]
543
+ theorem adjoin_singleton_zero : adjoin R ({0 } : Set A) = ⊥ :=
544
+ mod_cast adjoin_singleton_natCast R A 0
545
+
546
+ @[simp]
547
+ theorem adjoin_singleton_one : adjoin R ({1 } : Set A) = ⊥ :=
548
+ mod_cast adjoin_singleton_natCast R A 1
536
549
537
550
variable {A} (s)
538
551
552
+ variable {R} in
553
+ @[simp]
554
+ theorem adjoin_insert_algebraMap (x : R) (s : Set A) :
555
+ adjoin R (insert (algebraMap R A x) s) = adjoin R s := by
556
+ rw [Set.insert_eq, adjoin_union]
557
+ simp
558
+
559
+ @[simp]
560
+ theorem adjoin_insert_natCast (n : ℕ) (s : Set A) : adjoin R (insert (n : A) s) = adjoin R s :=
561
+ mod_cast adjoin_insert_algebraMap (n : R) s
562
+
563
+ @[simp]
564
+ theorem adjoin_insert_zero (s : Set A) : adjoin R (insert 0 s) = adjoin R s :=
565
+ mod_cast adjoin_insert_natCast R 0 s
566
+
567
+ @[simp]
568
+ theorem adjoin_insert_one (s : Set A) : adjoin R (insert 1 s) = adjoin R s :=
569
+ mod_cast adjoin_insert_natCast R 1 s
570
+
539
571
theorem adjoin_eq_span : Subalgebra.toSubmodule (adjoin R s) = span R (Submonoid.closure s) := by
540
572
apply le_antisymm
541
573
· intro r hr
@@ -645,9 +677,6 @@ lemma commute_of_mem_adjoin_self {a b : A} (hb : b ∈ adjoin R {a}) :
645
677
646
678
variable (R)
647
679
648
- theorem adjoin_singleton_one : adjoin R ({1 } : Set A) = ⊥ :=
649
- eq_bot_iff.2 <| adjoin_le <| Set.singleton_subset_iff.2 <| SetLike.mem_coe.2 <| one_mem _
650
-
651
680
theorem self_mem_adjoin_singleton (x : A) : x ∈ adjoin R ({x} : Set A) :=
652
681
Algebra.subset_adjoin (Set.mem_singleton_iff.mpr rfl)
653
682
@@ -672,6 +701,14 @@ section Ring
672
701
variable [CommRing R] [Ring A]
673
702
variable [Algebra R A] {s t : Set A}
674
703
704
+ @[simp]
705
+ theorem adjoin_singleton_intCast (n : ℤ) : adjoin R {(n : A)} = ⊥ := by
706
+ simpa using adjoin_singleton_algebraMap A (n : R)
707
+
708
+ @[simp]
709
+ theorem adjoin_insert_intCast (n : ℤ) (s : Set A) : adjoin R (insert (n : A) s) = adjoin R s := by
710
+ simpa using adjoin_insert_algebraMap (n : R) s
711
+
675
712
theorem mem_adjoin_iff {s : Set A} {x : A} :
676
713
x ∈ adjoin R s ↔ x ∈ Subring.closure (Set.range (algebraMap R A) ∪ s) :=
677
714
⟨fun hx =>
0 commit comments