Metamath Proof Explorer


Theorem isdomn

Description: Expand definition of a domain. (Contributed by Mario Carneiro, 28-Mar-2015)

Ref Expression
Hypotheses isdomn.b ⊢ B = Base R
isdomn.t ⊢ · ˙ = ⋅ R
isdomn.z ⊢ 0 ˙ = 0 R
Assertion isdomn ⊢ R ∈ Domn ↔ R ∈ NzRing ∧ ∀ x ∈ B ∀ y ∈ B x · ˙ y = 0 ˙ → x = 0 ˙ ∨ y = 0 ˙

Proof

Step Hyp Ref Expression
1 isdomn.b ⊢ B = Base R
2 isdomn.t ⊢ · ˙ = ⋅ R
3 isdomn.z ⊢ 0 ˙ = 0 R
4 fvexd ⊢ r = R → Base r ∈ V
5 fveq2 ⊢ r = R → Base r = Base R
6 5 1 eqtr4di ⊢ r = R → Base r = B
7 fvexd ⊢ r = R ∧ b = B → 0 r ∈ V
8 fveq2 ⊢ r = R → 0 r = 0 R
9 8 adantr ⊢ r = R ∧ b = B → 0 r = 0 R
10 9 3 eqtr4di ⊢ r = R ∧ b = B → 0 r = 0 ˙
11 simplr ⊢ r = R ∧ b = B ∧ z = 0 ˙ → b = B
12 fveq2 ⊢ r = R → ⋅ r = ⋅ R
13 12 2 eqtr4di ⊢ r = R → ⋅ r = · ˙
14 13 oveqdr ⊢ r = R ∧ b = B → x ⋅ r y = x · ˙ y
15 id ⊢ z = 0 ˙ → z = 0 ˙
16 14 15 eqeqan12d ⊢ r = R ∧ b = B ∧ z = 0 ˙ → x ⋅ r y = z ↔ x · ˙ y = 0 ˙
17 eqeq2 ⊢ z = 0 ˙ → x = z ↔ x = 0 ˙
18 eqeq2 ⊢ z = 0 ˙ → y = z ↔ y = 0 ˙
19 17 18 orbi12d ⊢ z = 0 ˙ → x = z ∨ y = z ↔ x = 0 ˙ ∨ y = 0 ˙
20 19 adantl ⊢ r = R ∧ b = B ∧ z = 0 ˙ → x = z ∨ y = z ↔ x = 0 ˙ ∨ y = 0 ˙
21 16 20 imbi12d ⊢ r = R ∧ b = B ∧ z = 0 ˙ → x ⋅ r y = z → x = z ∨ y = z ↔ x · ˙ y = 0 ˙ → x = 0 ˙ ∨ y = 0 ˙
22 11 21 raleqbidv ⊢ r = R ∧ b = B ∧ z = 0 ˙ → ∀ y ∈ b x ⋅ r y = z → x = z ∨ y = z ↔ ∀ y ∈ B x · ˙ y = 0 ˙ → x = 0 ˙ ∨ y = 0 ˙
23 11 22 raleqbidv ⊢ r = R ∧ b = B ∧ z = 0 ˙ → ∀ x ∈ b ∀ y ∈ b x ⋅ r y = z → x = z ∨ y = z ↔ ∀ x ∈ B ∀ y ∈ B x · ˙ y = 0 ˙ → x = 0 ˙ ∨ y = 0 ˙
24 7 10 23 sbcied2 ⊢ r = R ∧ b = B → [˙0 r / z]˙ ∀ x ∈ b ∀ y ∈ b x ⋅ r y = z → x = z ∨ y = z ↔ ∀ x ∈ B ∀ y ∈ B x · ˙ y = 0 ˙ → x = 0 ˙ ∨ y = 0 ˙
25 4 6 24 sbcied2 ⊢ r = R → [˙Base r / b]˙ [˙0 r / z]˙ ∀ x ∈ b ∀ y ∈ b x ⋅ r y = z → x = z ∨ y = z ↔ ∀ x ∈ B ∀ y ∈ B x · ˙ y = 0 ˙ → x = 0 ˙ ∨ y = 0 ˙
26 df-domn ⊢ Domn = r ∈ NzRing | [˙Base r / b]˙ [˙0 r / z]˙ ∀ x ∈ b ∀ y ∈ b x ⋅ r y = z → x = z ∨ y = z
27 25 26 elrab2 ⊢ R ∈ Domn ↔ R ∈ NzRing ∧ ∀ x ∈ B ∀ y ∈ B x · ˙ y = 0 ˙ → x = 0 ˙ ∨ y = 0 ˙