equal
deleted
inserted
replaced
15 |
15 |
16 val tac_limit: int Unsynchronized.ref |
16 val tac_limit: int Unsynchronized.ref |
17 val limit: int Unsynchronized.ref |
17 val limit: int Unsynchronized.ref |
18 |
18 |
19 val read_criterion: Proof.context -> string criterion -> term criterion |
19 val read_criterion: Proof.context -> string criterion -> term criterion |
|
20 val query_parser: (bool * string criterion) list parser |
20 |
21 |
21 val find_theorems: Proof.context -> thm option -> int option -> bool -> |
22 val find_theorems: Proof.context -> thm option -> int option -> bool -> |
22 (bool * term criterion) list -> int option * (Facts.ref * thm) list |
23 (bool * term criterion) list -> int option * (Facts.ref * thm) list |
23 val find_theorems_cmd: Proof.context -> thm option -> int option -> bool -> |
24 val find_theorems_cmd: Proof.context -> thm option -> int option -> bool -> |
24 (bool * string criterion) list -> int option * (Facts.ref * thm) list |
25 (bool * string criterion) list -> int option * (Facts.ref * thm) list |
528 (Parse.$$$ "(" |-- |
529 (Parse.$$$ "(" |-- |
529 Parse.!!! (Scan.option Parse.nat -- Scan.optional (Parse.reserved "with_dups" >> K false) true |
530 Parse.!!! (Scan.option Parse.nat -- Scan.optional (Parse.reserved "with_dups" >> K false) true |
530 --| Parse.$$$ ")")) (NONE, true); |
531 --| Parse.$$$ ")")) (NONE, true); |
531 in |
532 in |
532 |
533 |
|
534 val query_parser = Scan.repeat (((Scan.option Parse.minus >> is_none) -- criterion)); |
|
535 |
533 val _ = |
536 val _ = |
534 Outer_Syntax.improper_command "find_theorems" "print theorems meeting specified criteria" |
537 Outer_Syntax.improper_command "find_theorems" "print theorems meeting specified criteria" |
535 Keyword.diag |
538 Keyword.diag |
536 (options -- Scan.repeat (((Scan.option Parse.minus >> is_none) -- criterion)) |
539 (options -- query_parser |
537 >> (fn ((opt_lim, rem_dups), spec) => |
540 >> (fn ((opt_lim, rem_dups), spec) => |
538 Toplevel.no_timing o |
541 Toplevel.no_timing o |
539 Toplevel.keep (fn state => |
542 Toplevel.keep (fn state => |
540 let |
543 let |
541 val ctxt = Toplevel.context_of state; |
544 val ctxt = Toplevel.context_of state; |