3 Require Export pr0_defs.
4 Require Export pr1_defs.
6 Definition pc1 := [t1,t2:?] (EX t | (pr1 t1 t) & (pr1 t2 t)).
8 Hints Unfold pc1 : ltlc.
10 Tactic Definition Pc1Unfold :=
12 [ H: (pc1 ?2 ?3) |- ? ] -> Unfold pc1 in H; XDecompose H.
14 Section pc1_props. (******************************************************)
16 Theorem pc1_pr0_r: (t1,t2:?) (pr0 t1 t2) -> (pc1 t1 t2).
20 Theorem pc1_pr0_x: (t1,t2:?) (pr0 t2 t1) -> (pc1 t1 t2).
24 Theorem pc1_pr0_u: (t2,t1:?) (pr0 t1 t2) ->
25 (t3:?) (pc1 t2 t3) -> (pc1 t1 t3).
26 Intros; Pc1Unfold; XEAuto.
29 Theorem pc1_refl: (t:?) (pc1 t t).
33 Theorem pc1_s: (t2,t1:?) (pc1 t1 t2) -> (pc1 t2 t1).
34 Intros; Pc1Unfold; XEAuto.
37 Theorem pc1_tail_1: (u1,u2:?) (pc1 u1 u2) ->
38 (t:?; k:?) (pc1 (TTail k u1 t) (TTail k u2 t)).
39 Intros; Pc1Unfold; XEAuto.
42 Theorem pc1_tail_2: (t1,t2:?) (pc1 t1 t2) ->
43 (u:?; k:?) (pc1 (TTail k u t1) (TTail k u t2)).
44 Intros; Pc1Unfold; XEAuto.
49 Hints Resolve pc1_refl pc1_pr0_u pc1_pr0_r pc1_pr0_x pc1_s
50 pc1_tail_1 pc1_tail_2 : ltlc.