Metamath Proof Explorer


Theorem sstp

Description: The subsets of an unordered triple. (Contributed by Mario Carneiro, 2-Jul-2016)

Ref Expression
Assertion sstp
|- ( A C_ { B , C , D } <-> ( ( ( A = (/) \/ A = { B } ) \/ ( A = { C } \/ A = { B , C } ) ) \/ ( ( A = { D } \/ A = { B , D } ) \/ ( A = { C , D } \/ A = { B , C , D } ) ) ) )

Proof

Step Hyp Ref Expression
1 df-tp
 |-  { B , C , D } = ( { B , C } u. { D } )
2 1 sseq2i
 |-  ( A C_ { B , C , D } <-> A C_ ( { B , C } u. { D } ) )
3 0ss
 |-  (/) C_ A
4 3 biantrur
 |-  ( A C_ ( { B , C } u. { D } ) <-> ( (/) C_ A /\ A C_ ( { B , C } u. { D } ) ) )
5 ssunsn2
 |-  ( ( (/) C_ A /\ A C_ ( { B , C } u. { D } ) ) <-> ( ( (/) C_ A /\ A C_ { B , C } ) \/ ( ( (/) u. { D } ) C_ A /\ A C_ ( { B , C } u. { D } ) ) ) )
6 3 biantrur
 |-  ( A C_ { B , C } <-> ( (/) C_ A /\ A C_ { B , C } ) )
7 sspr
 |-  ( A C_ { B , C } <-> ( ( A = (/) \/ A = { B } ) \/ ( A = { C } \/ A = { B , C } ) ) )
8 6 7 bitr3i
 |-  ( ( (/) C_ A /\ A C_ { B , C } ) <-> ( ( A = (/) \/ A = { B } ) \/ ( A = { C } \/ A = { B , C } ) ) )
9 0un
 |-  ( (/) u. { D } ) = { D }
10 9 sseq1i
 |-  ( ( (/) u. { D } ) C_ A <-> { D } C_ A )
11 uncom
 |-  ( { B , C } u. { D } ) = ( { D } u. { B , C } )
12 11 sseq2i
 |-  ( A C_ ( { B , C } u. { D } ) <-> A C_ ( { D } u. { B , C } ) )
13 10 12 anbi12i
 |-  ( ( ( (/) u. { D } ) C_ A /\ A C_ ( { B , C } u. { D } ) ) <-> ( { D } C_ A /\ A C_ ( { D } u. { B , C } ) ) )
14 ssunpr
 |-  ( ( { D } C_ A /\ A C_ ( { D } u. { B , C } ) ) <-> ( ( A = { D } \/ A = ( { D } u. { B } ) ) \/ ( A = ( { D } u. { C } ) \/ A = ( { D } u. { B , C } ) ) ) )
15 uncom
 |-  ( { D } u. { B } ) = ( { B } u. { D } )
16 df-pr
 |-  { B , D } = ( { B } u. { D } )
17 15 16 eqtr4i
 |-  ( { D } u. { B } ) = { B , D }
18 17 eqeq2i
 |-  ( A = ( { D } u. { B } ) <-> A = { B , D } )
19 18 orbi2i
 |-  ( ( A = { D } \/ A = ( { D } u. { B } ) ) <-> ( A = { D } \/ A = { B , D } ) )
20 uncom
 |-  ( { D } u. { C } ) = ( { C } u. { D } )
21 df-pr
 |-  { C , D } = ( { C } u. { D } )
22 20 21 eqtr4i
 |-  ( { D } u. { C } ) = { C , D }
23 22 eqeq2i
 |-  ( A = ( { D } u. { C } ) <-> A = { C , D } )
24 1 11 eqtr2i
 |-  ( { D } u. { B , C } ) = { B , C , D }
25 24 eqeq2i
 |-  ( A = ( { D } u. { B , C } ) <-> A = { B , C , D } )
26 23 25 orbi12i
 |-  ( ( A = ( { D } u. { C } ) \/ A = ( { D } u. { B , C } ) ) <-> ( A = { C , D } \/ A = { B , C , D } ) )
27 19 26 orbi12i
 |-  ( ( ( A = { D } \/ A = ( { D } u. { B } ) ) \/ ( A = ( { D } u. { C } ) \/ A = ( { D } u. { B , C } ) ) ) <-> ( ( A = { D } \/ A = { B , D } ) \/ ( A = { C , D } \/ A = { B , C , D } ) ) )
28 13 14 27 3bitri
 |-  ( ( ( (/) u. { D } ) C_ A /\ A C_ ( { B , C } u. { D } ) ) <-> ( ( A = { D } \/ A = { B , D } ) \/ ( A = { C , D } \/ A = { B , C , D } ) ) )
29 8 28 orbi12i
 |-  ( ( ( (/) C_ A /\ A C_ { B , C } ) \/ ( ( (/) u. { D } ) C_ A /\ A C_ ( { B , C } u. { D } ) ) ) <-> ( ( ( A = (/) \/ A = { B } ) \/ ( A = { C } \/ A = { B , C } ) ) \/ ( ( A = { D } \/ A = { B , D } ) \/ ( A = { C , D } \/ A = { B , C , D } ) ) ) )
30 5 29 bitri
 |-  ( ( (/) C_ A /\ A C_ ( { B , C } u. { D } ) ) <-> ( ( ( A = (/) \/ A = { B } ) \/ ( A = { C } \/ A = { B , C } ) ) \/ ( ( A = { D } \/ A = { B , D } ) \/ ( A = { C , D } \/ A = { B , C , D } ) ) ) )
31 2 4 30 3bitri
 |-  ( A C_ { B , C , D } <-> ( ( ( A = (/) \/ A = { B } ) \/ ( A = { C } \/ A = { B , C } ) ) \/ ( ( A = { D } \/ A = { B , D } ) \/ ( A = { C , D } \/ A = { B , C , D } ) ) ) )