Metamath Proof Explorer


Theorem somin1

Description: Property of a minimum in a strict order. (Contributed by Stefan O'Rear, 17-Jan-2015)

Ref Expression
Assertion somin1 ( ( 𝑅 Or 𝑋 ∧ ( 𝐴𝑋𝐵𝑋 ) ) → if ( 𝐴 𝑅 𝐵 , 𝐴 , 𝐵 ) ( 𝑅 ∪ I ) 𝐴 )

Proof

Step Hyp Ref Expression
1 iftrue ( 𝐴 𝑅 𝐵 → if ( 𝐴 𝑅 𝐵 , 𝐴 , 𝐵 ) = 𝐴 )
2 1 olcd ( 𝐴 𝑅 𝐵 → ( if ( 𝐴 𝑅 𝐵 , 𝐴 , 𝐵 ) 𝑅 𝐴 ∨ if ( 𝐴 𝑅 𝐵 , 𝐴 , 𝐵 ) = 𝐴 ) )
3 2 adantl ( ( ( 𝑅 Or 𝑋 ∧ ( 𝐴𝑋𝐵𝑋 ) ) ∧ 𝐴 𝑅 𝐵 ) → ( if ( 𝐴 𝑅 𝐵 , 𝐴 , 𝐵 ) 𝑅 𝐴 ∨ if ( 𝐴 𝑅 𝐵 , 𝐴 , 𝐵 ) = 𝐴 ) )
4 sotric ( ( 𝑅 Or 𝑋 ∧ ( 𝐴𝑋𝐵𝑋 ) ) → ( 𝐴 𝑅 𝐵 ↔ ¬ ( 𝐴 = 𝐵𝐵 𝑅 𝐴 ) ) )
5 orcom ( ( 𝐴 = 𝐵𝐵 𝑅 𝐴 ) ↔ ( 𝐵 𝑅 𝐴𝐴 = 𝐵 ) )
6 eqcom ( 𝐴 = 𝐵𝐵 = 𝐴 )
7 6 orbi2i ( ( 𝐵 𝑅 𝐴𝐴 = 𝐵 ) ↔ ( 𝐵 𝑅 𝐴𝐵 = 𝐴 ) )
8 5 7 bitri ( ( 𝐴 = 𝐵𝐵 𝑅 𝐴 ) ↔ ( 𝐵 𝑅 𝐴𝐵 = 𝐴 ) )
9 8 notbii ( ¬ ( 𝐴 = 𝐵𝐵 𝑅 𝐴 ) ↔ ¬ ( 𝐵 𝑅 𝐴𝐵 = 𝐴 ) )
10 4 9 bitrdi ( ( 𝑅 Or 𝑋 ∧ ( 𝐴𝑋𝐵𝑋 ) ) → ( 𝐴 𝑅 𝐵 ↔ ¬ ( 𝐵 𝑅 𝐴𝐵 = 𝐴 ) ) )
11 10 con2bid ( ( 𝑅 Or 𝑋 ∧ ( 𝐴𝑋𝐵𝑋 ) ) → ( ( 𝐵 𝑅 𝐴𝐵 = 𝐴 ) ↔ ¬ 𝐴 𝑅 𝐵 ) )
12 11 biimpar ( ( ( 𝑅 Or 𝑋 ∧ ( 𝐴𝑋𝐵𝑋 ) ) ∧ ¬ 𝐴 𝑅 𝐵 ) → ( 𝐵 𝑅 𝐴𝐵 = 𝐴 ) )
13 iffalse ( ¬ 𝐴 𝑅 𝐵 → if ( 𝐴 𝑅 𝐵 , 𝐴 , 𝐵 ) = 𝐵 )
14 breq1 ( if ( 𝐴 𝑅 𝐵 , 𝐴 , 𝐵 ) = 𝐵 → ( if ( 𝐴 𝑅 𝐵 , 𝐴 , 𝐵 ) 𝑅 𝐴𝐵 𝑅 𝐴 ) )
15 eqeq1 ( if ( 𝐴 𝑅 𝐵 , 𝐴 , 𝐵 ) = 𝐵 → ( if ( 𝐴 𝑅 𝐵 , 𝐴 , 𝐵 ) = 𝐴𝐵 = 𝐴 ) )
16 14 15 orbi12d ( if ( 𝐴 𝑅 𝐵 , 𝐴 , 𝐵 ) = 𝐵 → ( ( if ( 𝐴 𝑅 𝐵 , 𝐴 , 𝐵 ) 𝑅 𝐴 ∨ if ( 𝐴 𝑅 𝐵 , 𝐴 , 𝐵 ) = 𝐴 ) ↔ ( 𝐵 𝑅 𝐴𝐵 = 𝐴 ) ) )
17 13 16 syl ( ¬ 𝐴 𝑅 𝐵 → ( ( if ( 𝐴 𝑅 𝐵 , 𝐴 , 𝐵 ) 𝑅 𝐴 ∨ if ( 𝐴 𝑅 𝐵 , 𝐴 , 𝐵 ) = 𝐴 ) ↔ ( 𝐵 𝑅 𝐴𝐵 = 𝐴 ) ) )
18 17 adantl ( ( ( 𝑅 Or 𝑋 ∧ ( 𝐴𝑋𝐵𝑋 ) ) ∧ ¬ 𝐴 𝑅 𝐵 ) → ( ( if ( 𝐴 𝑅 𝐵 , 𝐴 , 𝐵 ) 𝑅 𝐴 ∨ if ( 𝐴 𝑅 𝐵 , 𝐴 , 𝐵 ) = 𝐴 ) ↔ ( 𝐵 𝑅 𝐴𝐵 = 𝐴 ) ) )
19 12 18 mpbird ( ( ( 𝑅 Or 𝑋 ∧ ( 𝐴𝑋𝐵𝑋 ) ) ∧ ¬ 𝐴 𝑅 𝐵 ) → ( if ( 𝐴 𝑅 𝐵 , 𝐴 , 𝐵 ) 𝑅 𝐴 ∨ if ( 𝐴 𝑅 𝐵 , 𝐴 , 𝐵 ) = 𝐴 ) )
20 3 19 pm2.61dan ( ( 𝑅 Or 𝑋 ∧ ( 𝐴𝑋𝐵𝑋 ) ) → ( if ( 𝐴 𝑅 𝐵 , 𝐴 , 𝐵 ) 𝑅 𝐴 ∨ if ( 𝐴 𝑅 𝐵 , 𝐴 , 𝐵 ) = 𝐴 ) )
21 poleloe ( 𝐴𝑋 → ( if ( 𝐴 𝑅 𝐵 , 𝐴 , 𝐵 ) ( 𝑅 ∪ I ) 𝐴 ↔ ( if ( 𝐴 𝑅 𝐵 , 𝐴 , 𝐵 ) 𝑅 𝐴 ∨ if ( 𝐴 𝑅 𝐵 , 𝐴 , 𝐵 ) = 𝐴 ) ) )
22 21 ad2antrl ( ( 𝑅 Or 𝑋 ∧ ( 𝐴𝑋𝐵𝑋 ) ) → ( if ( 𝐴 𝑅 𝐵 , 𝐴 , 𝐵 ) ( 𝑅 ∪ I ) 𝐴 ↔ ( if ( 𝐴 𝑅 𝐵 , 𝐴 , 𝐵 ) 𝑅 𝐴 ∨ if ( 𝐴 𝑅 𝐵 , 𝐴 , 𝐵 ) = 𝐴 ) ) )
23 20 22 mpbird ( ( 𝑅 Or 𝑋 ∧ ( 𝐴𝑋𝐵𝑋 ) ) → if ( 𝐴 𝑅 𝐵 , 𝐴 , 𝐵 ) ( 𝑅 ∪ I ) 𝐴 )