File tree Expand file tree Collapse file tree 2 files changed +17
-4
lines changed Expand file tree Collapse file tree 2 files changed +17
-4
lines changed Original file line number Diff line number Diff line change @@ -74,6 +74,13 @@ axiom S3 (alpha: Pattern) {a b: EVar}:
74
74
$ is_atom a alpha $ >
75
75
$ is_atom b alpha $ >
76
76
$ (swap a b (eVar a)) == eVar b $;
77
+ axiom S4 (alpha tau: Pattern) {a b: EVar} (phi: Pattern a b):
78
+ $ is_atom_sort alpha $ >
79
+ $ is_nominal_sort tau $ >
80
+ $ is_atom a alpha $ >
81
+ $ is_atom b alpha $ >
82
+ $ is_of_sort phi tau $ >
83
+ $ (swap a b phi) == (swap b a phi) $;
77
84
axiom F1 (alpha tau: Pattern) {a b: EVar} (phi: Pattern a b):
78
85
$ is_atom_sort alpha $ >
79
86
$ is_nominal_sort tau $ >
Original file line number Diff line number Diff line change @@ -82,9 +82,6 @@ theorem freshness_irrelevance (exp_pred exp_suff_fresh: Pattern)
82
82
rsyl (anl eVar_in_subset) @
83
83
lc_lemma_3 exp_suff_fresh_sorting exp_suff_fresh_nonempty exp_pred_ev h_abs));
84
84
85
-
86
-
87
-
88
85
theorem prototype_induction_principle (exp_pred exp_suff_fresh: Pattern)
89
86
(exp_suff_fresh_sorting: $ is_of_sort exp_suff_fresh Var $)
90
87
(exp_suff_fresh_nonempty: $ |^ exp_suff_fresh ^| $)
@@ -93,4 +90,13 @@ theorem prototype_induction_principle (exp_pred exp_suff_fresh: Pattern)
93
90
(h_var: $ (lc_var Vars) C= exp_pred $)
94
91
(h_app: $ (lc_app exp_pred exp_pred) C= exp_pred $)
95
92
(h_abs: $ (lc_lam (abstraction exp_suff_fresh exp_pred)) C= exp_pred $):
96
- $ Exps == exp_pred $ = '();
93
+ $ Exps == exp_pred $ = (named '(subset_to_eq (imp_to_subset @
94
+ rsyl (corollary_57_floor @ eq_imp_subset no_junk) @
95
+ KT_subst
96
+ (positive_in_or (positive_in_or positive_disjoint @ positive_in_app (positive_in_app positive_disjoint positive_in_same_sVar) positive_in_same_sVar) @ positive_in_app positive_disjoint @ positive_in_app positive_disjoint positive_in_same_sVar)
97
+ ,(propag_s_subst_adv 'X $a \/ (app (app a (sVar X)) (sVar X)) \/ (app a (app a (sVar X)))$ (atom-map! '[a #t])) @
98
+ eori (eori
99
+ (corollary_57_floor h_var)
100
+ (corollary_57_floor h_app))
101
+ @ corollary_57_floor @ freshness_irrelevance exp_suff_fresh_sorting exp_suff_fresh_nonempty exp_pred_ev h_abs
102
+ ) exp_pred_sorting));
You can’t perform that action at this time.
0 commit comments