Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Iris
RefinedC
Commits
b20b6026
Commit
b20b6026
authored
Nov 17, 2021
by
Michael Sammler
Browse files
bail out early for trivial hyps
parent
a150e592
Pipeline
#57153
passed with stage
in 12 minutes and 22 seconds
Changes
2
Pipelines
2
Hide whitespace changes
Inline
Side-by-side
theories/lithium/base.v
View file @
b20b6026
...
...
@@ -63,6 +63,20 @@ Ltac get_head e :=
|
_
=>
constr
:
(
e
)
end
.
(** A version of done that does not exploit False and contradictions. *)
Ltac
done_no_false
:
=
solve
[
repeat
first
[
fast_done
|
solve
[
trivial
]
(* All the tactics below will introduce themselves anyway, or make no sense
for goals of product type. So this is a good place for us to do it. *)
|
progress
intros
|
solve
[
symmetry
;
trivial
]
|
solve
[
apply
not_symmetry
;
trivial
]
|
split
]
].
(* Checks that a term is closed using a trick by Jason Gross. *)
Ltac
check_closed
t
:
=
assert_succeeds
(
...
...
theories/lithium/interpreter.v
View file @
b20b6026
...
...
@@ -592,6 +592,9 @@ Ltac liImpl :=
|
|-
?P
->
?Q
=>
lazymatch
type
of
P
with
|
Prop
=>
first
[
(* first check if the hyp is trivial *)
assert_succeeds
(
assert
(
P
)
as
_;
[
done_no_false
|])
;
intros
_
|
progress
normalize_goal_impl
;
simpl
|
(*
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment