Metamath Proof Explorer


Theorem edomediv

Description: Apply a Euclidean division in a Euclidean domain. (Contributed by Thierry Arnoux, 29-Oct-2026)

Ref Expression
Hypotheses edomediv.b ⊢ B = Base D
edomediv.z ⊢ 0 ˙ = 0 D
edomediv.p ⊢ + ˙ = + D
edomediv.m ⊢ · ˙ = ⋅ D
edomediv.e ⊢ E = EuclF ⁡ D
edomediv.d ⊢ φ → D ∈ EDomn
edomediv.x ⊢ φ → X ∈ B
edomediv.y ⊢ φ → Y ∈ B ∖ 0 ˙
Assertion edomediv ⊢ φ → ∃ q ∈ B ∃ r ∈ B X = Y · ˙ q + ˙ r ∧ r = 0 ˙ ∨ E ⁡ r < E ⁡ Y

Proof

Step Hyp Ref Expression
1 edomediv.b ⊢ B = Base D
2 edomediv.z ⊢ 0 ˙ = 0 D
3 edomediv.p ⊢ + ˙ = + D
4 edomediv.m ⊢ · ˙ = ⋅ D
5 edomediv.e ⊢ E = EuclF ⁡ D
6 edomediv.d ⊢ φ → D ∈ EDomn
7 edomediv.x ⊢ φ → X ∈ B
8 edomediv.y ⊢ φ → Y ∈ B ∖ 0 ˙
9 eqeq1 ⊢ x = X → x = y · ˙ q + ˙ r ↔ X = y · ˙ q + ˙ r
10 9 anbi1d ⊢ x = X → x = y · ˙ q + ˙ r ∧ r = 0 ˙ ∨ E ↾ B ∖ 0 ˙ ⁡ r < E ↾ B ∖ 0 ˙ ⁡ y ↔ X = y · ˙ q + ˙ r ∧ r = 0 ˙ ∨ E ↾ B ∖ 0 ˙ ⁡ r < E ↾ B ∖ 0 ˙ ⁡ y
11 10 2rexbidv ⊢ x = X → ∃ q ∈ B ∃ r ∈ B x = y · ˙ q + ˙ r ∧ r = 0 ˙ ∨ E ↾ B ∖ 0 ˙ ⁡ r < E ↾ B ∖ 0 ˙ ⁡ y ↔ ∃ q ∈ B ∃ r ∈ B X = y · ˙ q + ˙ r ∧ r = 0 ˙ ∨ E ↾ B ∖ 0 ˙ ⁡ r < E ↾ B ∖ 0 ˙ ⁡ y
12 oveq1 ⊢ y = Y → y · ˙ q = Y · ˙ q
13 12 oveq1d ⊢ y = Y → y · ˙ q + ˙ r = Y · ˙ q + ˙ r
14 13 eqeq2d ⊢ y = Y → X = y · ˙ q + ˙ r ↔ X = Y · ˙ q + ˙ r
15 fveq2 ⊢ y = Y → E ↾ B ∖ 0 ˙ ⁡ y = E ↾ B ∖ 0 ˙ ⁡ Y
16 15 breq2d ⊢ y = Y → E ↾ B ∖ 0 ˙ ⁡ r < E ↾ B ∖ 0 ˙ ⁡ y ↔ E ↾ B ∖ 0 ˙ ⁡ r < E ↾ B ∖ 0 ˙ ⁡ Y
17 16 orbi2d ⊢ y = Y → r = 0 ˙ ∨ E ↾ B ∖ 0 ˙ ⁡ r < E ↾ B ∖ 0 ˙ ⁡ y ↔ r = 0 ˙ ∨ E ↾ B ∖ 0 ˙ ⁡ r < E ↾ B ∖ 0 ˙ ⁡ Y
18 14 17 anbi12d ⊢ y = Y → X = y · ˙ q + ˙ r ∧ r = 0 ˙ ∨ E ↾ B ∖ 0 ˙ ⁡ r < E ↾ B ∖ 0 ˙ ⁡ y ↔ X = Y · ˙ q + ˙ r ∧ r = 0 ˙ ∨ E ↾ B ∖ 0 ˙ ⁡ r < E ↾ B ∖ 0 ˙ ⁡ Y
19 18 2rexbidv ⊢ y = Y → ∃ q ∈ B ∃ r ∈ B X = y · ˙ q + ˙ r ∧ r = 0 ˙ ∨ E ↾ B ∖ 0 ˙ ⁡ r < E ↾ B ∖ 0 ˙ ⁡ y ↔ ∃ q ∈ B ∃ r ∈ B X = Y · ˙ q + ˙ r ∧ r = 0 ˙ ∨ E ↾ B ∖ 0 ˙ ⁡ r < E ↾ B ∖ 0 ˙ ⁡ Y
20 5 reseq1i ⊢ E ↾ B ∖ 0 ˙ = EuclF ⁡ D ↾ B ∖ 0 ˙
21 1 2 3 4 20 isedom ⊢ D ∈ EDomn ↔ D ∈ IDomn ∧ E ↾ B ∖ 0 ˙ : B ∖ 0 ˙ ⟶ ℕ 0 ∧ ∀ x ∈ B ∀ y ∈ B ∖ 0 ˙ ∃ q ∈ B ∃ r ∈ B x = y · ˙ q + ˙ r ∧ r = 0 ˙ ∨ E ↾ B ∖ 0 ˙ ⁡ r < E ↾ B ∖ 0 ˙ ⁡ y
22 6 21 sylib ⊢ φ → D ∈ IDomn ∧ E ↾ B ∖ 0 ˙ : B ∖ 0 ˙ ⟶ ℕ 0 ∧ ∀ x ∈ B ∀ y ∈ B ∖ 0 ˙ ∃ q ∈ B ∃ r ∈ B x = y · ˙ q + ˙ r ∧ r = 0 ˙ ∨ E ↾ B ∖ 0 ˙ ⁡ r < E ↾ B ∖ 0 ˙ ⁡ y
23 22 simprrd ⊢ φ → ∀ x ∈ B ∀ y ∈ B ∖ 0 ˙ ∃ q ∈ B ∃ r ∈ B x = y · ˙ q + ˙ r ∧ r = 0 ˙ ∨ E ↾ B ∖ 0 ˙ ⁡ r < E ↾ B ∖ 0 ˙ ⁡ y
24 11 19 23 7 8 rspc2dv ⊢ φ → ∃ q ∈ B ∃ r ∈ B X = Y · ˙ q + ˙ r ∧ r = 0 ˙ ∨ E ↾ B ∖ 0 ˙ ⁡ r < E ↾ B ∖ 0 ˙ ⁡ Y
25 biort ⊢ r = 0 ˙ → r = 0 ˙ ↔ r = 0 ˙ ∨ E ↾ B ∖ 0 ˙ ⁡ r < E ↾ B ∖ 0 ˙ ⁡ Y
26 biort ⊢ r = 0 ˙ → r = 0 ˙ ↔ r = 0 ˙ ∨ E ⁡ r < E ⁡ Y
27 25 26 bitr3d ⊢ r = 0 ˙ → r = 0 ˙ ∨ E ↾ B ∖ 0 ˙ ⁡ r < E ↾ B ∖ 0 ˙ ⁡ Y ↔ r = 0 ˙ ∨ E ⁡ r < E ⁡ Y
28 27 adantl ⊢ φ ∧ q ∈ B ∧ r ∈ B ∧ r = 0 ˙ → r = 0 ˙ ∨ E ↾ B ∖ 0 ˙ ⁡ r < E ↾ B ∖ 0 ˙ ⁡ Y ↔ r = 0 ˙ ∨ E ⁡ r < E ⁡ Y
29 simplr ⊢ φ ∧ q ∈ B ∧ r ∈ B ∧ r ≠ 0 ˙ → r ∈ B
30 simpr ⊢ φ ∧ q ∈ B ∧ r ∈ B ∧ r ≠ 0 ˙ → r ≠ 0 ˙
31 29 30 eldifsnd ⊢ φ ∧ q ∈ B ∧ r ∈ B ∧ r ≠ 0 ˙ → r ∈ B ∖ 0 ˙
32 31 fvresd ⊢ φ ∧ q ∈ B ∧ r ∈ B ∧ r ≠ 0 ˙ → E ↾ B ∖ 0 ˙ ⁡ r = E ⁡ r
33 8 ad2antrr ⊢ φ ∧ q ∈ B ∧ r ∈ B → Y ∈ B ∖ 0 ˙
34 33 fvresd ⊢ φ ∧ q ∈ B ∧ r ∈ B → E ↾ B ∖ 0 ˙ ⁡ Y = E ⁡ Y
35 34 adantr ⊢ φ ∧ q ∈ B ∧ r ∈ B ∧ r ≠ 0 ˙ → E ↾ B ∖ 0 ˙ ⁡ Y = E ⁡ Y
36 32 35 breq12d ⊢ φ ∧ q ∈ B ∧ r ∈ B ∧ r ≠ 0 ˙ → E ↾ B ∖ 0 ˙ ⁡ r < E ↾ B ∖ 0 ˙ ⁡ Y ↔ E ⁡ r < E ⁡ Y
37 36 orbi2d ⊢ φ ∧ q ∈ B ∧ r ∈ B ∧ r ≠ 0 ˙ → r = 0 ˙ ∨ E ↾ B ∖ 0 ˙ ⁡ r < E ↾ B ∖ 0 ˙ ⁡ Y ↔ r = 0 ˙ ∨ E ⁡ r < E ⁡ Y
38 28 37 pm2.61dane ⊢ φ ∧ q ∈ B ∧ r ∈ B → r = 0 ˙ ∨ E ↾ B ∖ 0 ˙ ⁡ r < E ↾ B ∖ 0 ˙ ⁡ Y ↔ r = 0 ˙ ∨ E ⁡ r < E ⁡ Y
39 38 anbi2d ⊢ φ ∧ q ∈ B ∧ r ∈ B → X = Y · ˙ q + ˙ r ∧ r = 0 ˙ ∨ E ↾ B ∖ 0 ˙ ⁡ r < E ↾ B ∖ 0 ˙ ⁡ Y ↔ X = Y · ˙ q + ˙ r ∧ r = 0 ˙ ∨ E ⁡ r < E ⁡ Y
40 39 anasss ⊢ φ ∧ q ∈ B ∧ r ∈ B → X = Y · ˙ q + ˙ r ∧ r = 0 ˙ ∨ E ↾ B ∖ 0 ˙ ⁡ r < E ↾ B ∖ 0 ˙ ⁡ Y ↔ X = Y · ˙ q + ˙ r ∧ r = 0 ˙ ∨ E ⁡ r < E ⁡ Y
41 40 2rexbidva ⊢ φ → ∃ q ∈ B ∃ r ∈ B X = Y · ˙ q + ˙ r ∧ r = 0 ˙ ∨ E ↾ B ∖ 0 ˙ ⁡ r < E ↾ B ∖ 0 ˙ ⁡ Y ↔ ∃ q ∈ B ∃ r ∈ B X = Y · ˙ q + ˙ r ∧ r = 0 ˙ ∨ E ⁡ r < E ⁡ Y
42 24 41 mpbid ⊢ φ → ∃ q ∈ B ∃ r ∈ B X = Y · ˙ q + ˙ r ∧ r = 0 ˙ ∨ E ⁡ r < E ⁡ Y