Metamath Proof Explorer


Theorem tsrlemax

Description: Two ways of saying a number is less than or equal to the maximum of two others. (Contributed by Mario Carneiro, 9-Sep-2015)

Ref Expression
Hypothesis istsr.1 𝑋 = dom 𝑅
Assertion tsrlemax ( ( 𝑅 ∈ TosetRel ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) → ( 𝐴 𝑅 if ( 𝐵 𝑅 𝐶 , 𝐶 , 𝐵 ) ↔ ( 𝐴 𝑅 𝐵𝐴 𝑅 𝐶 ) ) )

Proof

Step Hyp Ref Expression
1 istsr.1 𝑋 = dom 𝑅
2 breq2 ( 𝐶 = if ( 𝐵 𝑅 𝐶 , 𝐶 , 𝐵 ) → ( 𝐴 𝑅 𝐶𝐴 𝑅 if ( 𝐵 𝑅 𝐶 , 𝐶 , 𝐵 ) ) )
3 2 bibi1d ( 𝐶 = if ( 𝐵 𝑅 𝐶 , 𝐶 , 𝐵 ) → ( ( 𝐴 𝑅 𝐶 ↔ ( 𝐴 𝑅 𝐵𝐴 𝑅 𝐶 ) ) ↔ ( 𝐴 𝑅 if ( 𝐵 𝑅 𝐶 , 𝐶 , 𝐵 ) ↔ ( 𝐴 𝑅 𝐵𝐴 𝑅 𝐶 ) ) ) )
4 breq2 ( 𝐵 = if ( 𝐵 𝑅 𝐶 , 𝐶 , 𝐵 ) → ( 𝐴 𝑅 𝐵𝐴 𝑅 if ( 𝐵 𝑅 𝐶 , 𝐶 , 𝐵 ) ) )
5 4 bibi1d ( 𝐵 = if ( 𝐵 𝑅 𝐶 , 𝐶 , 𝐵 ) → ( ( 𝐴 𝑅 𝐵 ↔ ( 𝐴 𝑅 𝐵𝐴 𝑅 𝐶 ) ) ↔ ( 𝐴 𝑅 if ( 𝐵 𝑅 𝐶 , 𝐶 , 𝐵 ) ↔ ( 𝐴 𝑅 𝐵𝐴 𝑅 𝐶 ) ) ) )
6 olc ( 𝐴 𝑅 𝐶 → ( 𝐴 𝑅 𝐵𝐴 𝑅 𝐶 ) )
7 eqid dom 𝑅 = dom 𝑅
8 7 istsr ( 𝑅 ∈ TosetRel ↔ ( 𝑅 ∈ PosetRel ∧ ( dom 𝑅 × dom 𝑅 ) ⊆ ( 𝑅 𝑅 ) ) )
9 8 simplbi ( 𝑅 ∈ TosetRel → 𝑅 ∈ PosetRel )
10 pstr ( ( 𝑅 ∈ PosetRel ∧ 𝐴 𝑅 𝐵𝐵 𝑅 𝐶 ) → 𝐴 𝑅 𝐶 )
11 10 3expib ( 𝑅 ∈ PosetRel → ( ( 𝐴 𝑅 𝐵𝐵 𝑅 𝐶 ) → 𝐴 𝑅 𝐶 ) )
12 9 11 syl ( 𝑅 ∈ TosetRel → ( ( 𝐴 𝑅 𝐵𝐵 𝑅 𝐶 ) → 𝐴 𝑅 𝐶 ) )
13 12 adantr ( ( 𝑅 ∈ TosetRel ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) → ( ( 𝐴 𝑅 𝐵𝐵 𝑅 𝐶 ) → 𝐴 𝑅 𝐶 ) )
14 13 expdimp ( ( ( 𝑅 ∈ TosetRel ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) ∧ 𝐴 𝑅 𝐵 ) → ( 𝐵 𝑅 𝐶𝐴 𝑅 𝐶 ) )
15 14 impancom ( ( ( 𝑅 ∈ TosetRel ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) ∧ 𝐵 𝑅 𝐶 ) → ( 𝐴 𝑅 𝐵𝐴 𝑅 𝐶 ) )
16 idd ( ( ( 𝑅 ∈ TosetRel ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) ∧ 𝐵 𝑅 𝐶 ) → ( 𝐴 𝑅 𝐶𝐴 𝑅 𝐶 ) )
17 15 16 jaod ( ( ( 𝑅 ∈ TosetRel ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) ∧ 𝐵 𝑅 𝐶 ) → ( ( 𝐴 𝑅 𝐵𝐴 𝑅 𝐶 ) → 𝐴 𝑅 𝐶 ) )
18 6 17 impbid2 ( ( ( 𝑅 ∈ TosetRel ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) ∧ 𝐵 𝑅 𝐶 ) → ( 𝐴 𝑅 𝐶 ↔ ( 𝐴 𝑅 𝐵𝐴 𝑅 𝐶 ) ) )
19 orc ( 𝐴 𝑅 𝐵 → ( 𝐴 𝑅 𝐵𝐴 𝑅 𝐶 ) )
20 idd ( ( ( 𝑅 ∈ TosetRel ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) ∧ ¬ 𝐵 𝑅 𝐶 ) → ( 𝐴 𝑅 𝐵𝐴 𝑅 𝐵 ) )
21 1 tsrlin ( ( 𝑅 ∈ TosetRel ∧ 𝐵𝑋𝐶𝑋 ) → ( 𝐵 𝑅 𝐶𝐶 𝑅 𝐵 ) )
22 21 3adant3r1 ( ( 𝑅 ∈ TosetRel ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) → ( 𝐵 𝑅 𝐶𝐶 𝑅 𝐵 ) )
23 22 orcanai ( ( ( 𝑅 ∈ TosetRel ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) ∧ ¬ 𝐵 𝑅 𝐶 ) → 𝐶 𝑅 𝐵 )
24 pstr ( ( 𝑅 ∈ PosetRel ∧ 𝐴 𝑅 𝐶𝐶 𝑅 𝐵 ) → 𝐴 𝑅 𝐵 )
25 24 3expib ( 𝑅 ∈ PosetRel → ( ( 𝐴 𝑅 𝐶𝐶 𝑅 𝐵 ) → 𝐴 𝑅 𝐵 ) )
26 9 25 syl ( 𝑅 ∈ TosetRel → ( ( 𝐴 𝑅 𝐶𝐶 𝑅 𝐵 ) → 𝐴 𝑅 𝐵 ) )
27 26 adantr ( ( 𝑅 ∈ TosetRel ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) → ( ( 𝐴 𝑅 𝐶𝐶 𝑅 𝐵 ) → 𝐴 𝑅 𝐵 ) )
28 27 expdimp ( ( ( 𝑅 ∈ TosetRel ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) ∧ 𝐴 𝑅 𝐶 ) → ( 𝐶 𝑅 𝐵𝐴 𝑅 𝐵 ) )
29 28 impancom ( ( ( 𝑅 ∈ TosetRel ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) ∧ 𝐶 𝑅 𝐵 ) → ( 𝐴 𝑅 𝐶𝐴 𝑅 𝐵 ) )
30 23 29 syldan ( ( ( 𝑅 ∈ TosetRel ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) ∧ ¬ 𝐵 𝑅 𝐶 ) → ( 𝐴 𝑅 𝐶𝐴 𝑅 𝐵 ) )
31 20 30 jaod ( ( ( 𝑅 ∈ TosetRel ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) ∧ ¬ 𝐵 𝑅 𝐶 ) → ( ( 𝐴 𝑅 𝐵𝐴 𝑅 𝐶 ) → 𝐴 𝑅 𝐵 ) )
32 19 31 impbid2 ( ( ( 𝑅 ∈ TosetRel ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) ∧ ¬ 𝐵 𝑅 𝐶 ) → ( 𝐴 𝑅 𝐵 ↔ ( 𝐴 𝑅 𝐵𝐴 𝑅 𝐶 ) ) )
33 3 5 18 32 ifbothda ( ( 𝑅 ∈ TosetRel ∧ ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) ) → ( 𝐴 𝑅 if ( 𝐵 𝑅 𝐶 , 𝐶 , 𝐵 ) ↔ ( 𝐴 𝑅 𝐵𝐴 𝑅 𝐶 ) ) )