equal
deleted
inserted
replaced
17 |
17 |
18 datatype |
18 datatype |
19 "ntree(A)" = Branch ("a: A", "h: (UN n:nat. n -> ntree(A))") |
19 "ntree(A)" = Branch ("a: A", "h: (UN n:nat. n -> ntree(A))") |
20 monos "[[subset_refl, Pi_mono] MRS UN_mono]" (*MUST have this form*) |
20 monos "[[subset_refl, Pi_mono] MRS UN_mono]" (*MUST have this form*) |
21 type_intrs "[nat_fun_univ RS subsetD]" |
21 type_intrs "[nat_fun_univ RS subsetD]" |
22 type_elims "[UN_E]" |
22 type_elims UN_E |
23 |
23 |
24 datatype |
24 datatype |
25 "maptree(A)" = Sons ("a: A", "h: maptree(A) -||> maptree(A)") |
25 "maptree(A)" = Sons ("a: A", "h: maptree(A) -||> maptree(A)") |
26 monos "[FiniteFun_mono1]" (*Use monotonicity in BOTH args*) |
26 monos FiniteFun_mono1 (*Use monotonicity in BOTH args*) |
27 type_intrs "[FiniteFun_univ1 RS subsetD]" |
27 type_intrs "[FiniteFun_univ1 RS subsetD]" |
28 |
28 |
29 datatype |
29 datatype |
30 "maptree2(A,B)" = Sons2 ("a: A", "h: B -||> maptree2(A,B)") |
30 "maptree2(A,B)" = Sons2 ("a: A", "h: B -||> maptree2(A,B)") |
31 monos "[subset_refl RS FiniteFun_mono]" |
31 monos "[subset_refl RS FiniteFun_mono]" |
32 type_intrs "[FiniteFun_in_univ']" |
32 type_intrs FiniteFun_in_univ' |
33 |
33 |
34 end |
34 end |