Skip to content

Commit

Permalink
Add NOT_AND' (|- ~(~t /\ t)) to BOOL_ss (in addition to NOT_AND: |- ~…
Browse files Browse the repository at this point in the history
…(t /\ ~t))
  • Loading branch information
binghe authored and mn200 committed Jun 28, 2024
1 parent ee366f3 commit 8939159
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 10 deletions.
4 changes: 0 additions & 4 deletions examples/lambda/barendregt/standardisationScript.sml
Original file line number Diff line number Diff line change
Expand Up @@ -416,17 +416,13 @@ val residuals_to_right_of_reduction = store_thm(
PROVE_TAC [lrcc_new_labels'],
PROVE_TAC [],
PROVE_TAC [lrcc_new_labels'],
PROVE_TAC [],
FULL_SIMP_TAC (srw_ss()) [n_posns_nlabel] THEN SRW_TAC [][],
PROVE_TAC [],
FULL_SIMP_TAC (srw_ss()) [n_posns_nlabel] THEN SRW_TAC [][],
FULL_SIMP_TAC (srw_ss()) [n_posns_nlabel] THEN SRW_TAC [][],
PROVE_TAC [],
PROVE_TAC [],
PROVE_TAC []
]);


val lemma11_4_3iii = store_thm(
"lemma11_4_3iii",
``!M delta N.
Expand Down
15 changes: 10 additions & 5 deletions src/pred_set/src/more_theories/iterateScript.sml
Original file line number Diff line number Diff line change
Expand Up @@ -1004,11 +1004,16 @@ val ITERATE_UNION_GEN = store_thm ("ITERATE_UNION_GEN",

val lemma = prove (
``!t s. t SUBSET s ==> (s = (s DIFF t) UNION t) /\ DISJOINT (s DIFF t) t``,
REPEAT STRIP_TAC THENL [SIMP_TAC std_ss [UNION_DEF, DIFF_DEF, EXTENSION, GSPECIFICATION]
THEN GEN_TAC THEN EQ_TAC THENL [FULL_SIMP_TAC std_ss [], STRIP_TAC THEN
FULL_SIMP_TAC std_ss [SUBSET_DEF]], SIMP_TAC std_ss [DISJOINT_DEF, INTER_DEF, DIFF_DEF,
EXTENSION, GSPECIFICATION] THEN GEN_TAC THEN EQ_TAC THENL [STRIP_TAC,
FULL_SIMP_TAC std_ss [NOT_IN_EMPTY]]]);
rpt STRIP_TAC
>| [ (* goal 1 (of 2) *)
SIMP_TAC std_ss [UNION_DEF, DIFF_DEF, EXTENSION, GSPECIFICATION] \\
GEN_TAC \\
EQ_TAC >- FULL_SIMP_TAC std_ss [] \\
STRIP_TAC \\
FULL_SIMP_TAC std_ss [SUBSET_DEF],
(* goal 2 (of 2) *)
SIMP_TAC std_ss [DISJOINT_DEF, INTER_DEF, DIFF_DEF,
EXTENSION, GSPECIFICATION, NOT_IN_EMPTY] ]);

val ITERATE_DIFF = store_thm ("ITERATE_DIFF",
``!op. monoidal op
Expand Down
2 changes: 1 addition & 1 deletion src/simp/src/boolSimps.sml
Original file line number Diff line number Diff line change
Expand Up @@ -101,14 +101,14 @@ val BOOL_ss = SSFRAG
("EXISTS_REFL'", GSYM EXISTS_REFL),
("EXISTS_UNIQUE_REFL'", GSYM EXISTS_UNIQUE_REFL),
("EXCLUDED_MIDDLE'", ONCE_REWRITE_RULE [DISJ_COMM] EXCLUDED_MIDDLE),
("NOT_AND'", ONCE_REWRITE_RULE [CONJ_COMM] NOT_AND),
("literal_I_thm", literal_I_thm),
("COND_BOOL_CLAUSES", COND_BOOL_CLAUSES),
("lift_disj_eq", lift_disj_eq),
("lift_imp_disj", lift_imp_disj)
],
congs = [literal_cong], filter = NONE, ac = [], dprocs = []};


(*---------------------------------------------------------------------------
Need to rewrite cong. rules to the iterated implication format assumed
by the simplifier.
Expand Down

0 comments on commit 8939159

Please sign in to comment.