Metamath Proof Explorer


Theorem isufd

Description: The property of being a Unique Factorization Domain. (Contributed by Thierry Arnoux, 1-Jun-2024)

Ref Expression
Hypotheses isufd.a A = AbsVal R
isufd.i No typesetting found for |- I = ( PrmIdeal ` R ) with typecode |-
isufd.3 P = RPrime R
isufd.0 0 ˙ = 0 R
Assertion isufd Could not format assertion : No typesetting found for |- ( R e. UFD <-> ( R e. CRing /\ ( A =/= (/) /\ A. i e. ( I \ { { .0. } } ) ( i i^i P ) =/= (/) ) ) ) with typecode |-

Proof

Step Hyp Ref Expression
1 isufd.a A = AbsVal R
2 isufd.i Could not format I = ( PrmIdeal ` R ) : No typesetting found for |- I = ( PrmIdeal ` R ) with typecode |-
3 isufd.3 P = RPrime R
4 isufd.0 0 ˙ = 0 R
5 fveq2 r = R AbsVal r = AbsVal R
6 5 1 eqtr4di r = R AbsVal r = A
7 6 neeq1d r = R AbsVal r A
8 fveq2 Could not format ( r = R -> ( PrmIdeal ` r ) = ( PrmIdeal ` R ) ) : No typesetting found for |- ( r = R -> ( PrmIdeal ` r ) = ( PrmIdeal ` R ) ) with typecode |-
9 8 2 eqtr4di Could not format ( r = R -> ( PrmIdeal ` r ) = I ) : No typesetting found for |- ( r = R -> ( PrmIdeal ` r ) = I ) with typecode |-
10 fveq2 r = R 0 r = 0 R
11 10 4 eqtr4di r = R 0 r = 0 ˙
12 11 sneqd r = R 0 r = 0 ˙
13 12 sneqd r = R 0 r = 0 ˙
14 9 13 difeq12d Could not format ( r = R -> ( ( PrmIdeal ` r ) \ { { ( 0g ` r ) } } ) = ( I \ { { .0. } } ) ) : No typesetting found for |- ( r = R -> ( ( PrmIdeal ` r ) \ { { ( 0g ` r ) } } ) = ( I \ { { .0. } } ) ) with typecode |-
15 fveq2 r = R RPrime r = RPrime R
16 15 3 eqtr4di r = R RPrime r = P
17 16 ineq2d r = R i RPrime r = i P
18 17 neeq1d r = R i RPrime r i P
19 14 18 raleqbidv Could not format ( r = R -> ( A. i e. ( ( PrmIdeal ` r ) \ { { ( 0g ` r ) } } ) ( i i^i ( RPrime ` r ) ) =/= (/) <-> A. i e. ( I \ { { .0. } } ) ( i i^i P ) =/= (/) ) ) : No typesetting found for |- ( r = R -> ( A. i e. ( ( PrmIdeal ` r ) \ { { ( 0g ` r ) } } ) ( i i^i ( RPrime ` r ) ) =/= (/) <-> A. i e. ( I \ { { .0. } } ) ( i i^i P ) =/= (/) ) ) with typecode |-
20 7 19 anbi12d Could not format ( r = R -> ( ( ( AbsVal ` r ) =/= (/) /\ A. i e. ( ( PrmIdeal ` r ) \ { { ( 0g ` r ) } } ) ( i i^i ( RPrime ` r ) ) =/= (/) ) <-> ( A =/= (/) /\ A. i e. ( I \ { { .0. } } ) ( i i^i P ) =/= (/) ) ) ) : No typesetting found for |- ( r = R -> ( ( ( AbsVal ` r ) =/= (/) /\ A. i e. ( ( PrmIdeal ` r ) \ { { ( 0g ` r ) } } ) ( i i^i ( RPrime ` r ) ) =/= (/) ) <-> ( A =/= (/) /\ A. i e. ( I \ { { .0. } } ) ( i i^i P ) =/= (/) ) ) ) with typecode |-
21 df-ufd Could not format UFD = { r e. CRing | ( ( AbsVal ` r ) =/= (/) /\ A. i e. ( ( PrmIdeal ` r ) \ { { ( 0g ` r ) } } ) ( i i^i ( RPrime ` r ) ) =/= (/) ) } : No typesetting found for |- UFD = { r e. CRing | ( ( AbsVal ` r ) =/= (/) /\ A. i e. ( ( PrmIdeal ` r ) \ { { ( 0g ` r ) } } ) ( i i^i ( RPrime ` r ) ) =/= (/) ) } with typecode |-
22 20 21 elrab2 Could not format ( R e. UFD <-> ( R e. CRing /\ ( A =/= (/) /\ A. i e. ( I \ { { .0. } } ) ( i i^i P ) =/= (/) ) ) ) : No typesetting found for |- ( R e. UFD <-> ( R e. CRing /\ ( A =/= (/) /\ A. i e. ( I \ { { .0. } } ) ( i i^i P ) =/= (/) ) ) ) with typecode |-