Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
Iris
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Model registry
Operate
Terraform modules
Monitor
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Gaëtan Gilbert
Iris
Commits
b3b5f558
Commit
b3b5f558
authored
8 years ago
by
Robbert Krebbers
Browse files
Options
Downloads
Patches
Plain Diff
Rename some proofmode stuff to be no longer primitive view shift specific.
parent
d24b62fe
No related branches found
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
proofmode/spec_patterns.v
+5
-5
5 additions, 5 deletions
proofmode/spec_patterns.v
proofmode/tactics.v
+2
-2
2 additions, 2 deletions
proofmode/tactics.v
with
7 additions
and
7 deletions
proofmode/spec_patterns.v
+
5
−
5
View file @
b3b5f558
From
iris
.
prelude
Require
Export
strings
.
From
iris
.
prelude
Require
Export
strings
.
Inductive
spec_goal_kind
:=
GoalStd
|
Goal
Pv
s
.
Inductive
spec_goal_kind
:=
GoalStd
|
Goal
V
s
.
Inductive
spec_pat
:=
Inductive
spec_pat
:=
|
SGoal
:
spec_goal_kind
→
bool
→
list
string
→
spec_pat
|
SGoal
:
spec_goal_kind
→
bool
→
list
string
→
spec_pat
...
@@ -18,7 +18,7 @@ Inductive token :=
...
@@ -18,7 +18,7 @@ Inductive token :=
|
TPersistent
:
token
|
TPersistent
:
token
|
TPure
:
token
|
TPure
:
token
|
TForall
:
token
|
TForall
:
token
|
T
Pv
s
:
token
.
|
T
V
s
:
token
.
Fixpoint
cons_name
(
kn
:
string
)
(
k
:
list
token
)
:
list
token
:=
Fixpoint
cons_name
(
kn
:
string
)
(
k
:
list
token
)
:
list
token
:=
match
kn
with
""
=>
k
|
_
=>
TName
(
string_rev
kn
)
::
k
end
.
match
kn
with
""
=>
k
|
_
=>
TName
(
string_rev
kn
)
::
k
end
.
...
@@ -33,7 +33,7 @@ Fixpoint tokenize_go (s : string) (k : list token) (kn : string) : list token :=
...
@@ -33,7 +33,7 @@ Fixpoint tokenize_go (s : string) (k : list token) (kn : string) : list token :=
|
String
"%"
s
=>
tokenize_go
s
(
TPure
::
cons_name
kn
k
)
""
|
String
"%"
s
=>
tokenize_go
s
(
TPure
::
cons_name
kn
k
)
""
|
String
"*"
s
=>
tokenize_go
s
(
TForall
::
cons_name
kn
k
)
""
|
String
"*"
s
=>
tokenize_go
s
(
TForall
::
cons_name
kn
k
)
""
|
String
"|"
(
String
"="
(
String
"="
(
String
">"
s
)))
=>
|
String
"|"
(
String
"="
(
String
"="
(
String
">"
s
)))
=>
tokenize_go
s
(
T
Pv
s
::
cons_name
kn
k
)
""
tokenize_go
s
(
T
V
s
::
cons_name
kn
k
)
""
|
String
a
s
=>
tokenize_go
s
k
(
String
a
kn
)
|
String
a
s
=>
tokenize_go
s
k
(
String
a
kn
)
end
.
end
.
Definition
tokenize
(
s
:
string
)
:
list
token
:=
tokenize_go
s
[]
""
.
Definition
tokenize
(
s
:
string
)
:
list
token
:=
tokenize_go
s
[]
""
.
...
@@ -49,8 +49,8 @@ Fixpoint parse_go (ts : list token) (k : list spec_pat) : option (list spec_pat)
...
@@ -49,8 +49,8 @@ Fixpoint parse_go (ts : list token) (k : list spec_pat) : option (list spec_pat)
|
TBracketL
::
TPersistent
::
TBracketR
::
ts
=>
parse_go
ts
(
SGoalPersistent
::
k
)
|
TBracketL
::
TPersistent
::
TBracketR
::
ts
=>
parse_go
ts
(
SGoalPersistent
::
k
)
|
TBracketL
::
TPure
::
TBracketR
::
ts
=>
parse_go
ts
(
SGoalPure
::
k
)
|
TBracketL
::
TPure
::
TBracketR
::
ts
=>
parse_go
ts
(
SGoalPure
::
k
)
|
TBracketL
::
ts
=>
parse_goal
ts
GoalStd
false
[]
k
|
TBracketL
::
ts
=>
parse_goal
ts
GoalStd
false
[]
k
|
T
Pv
s
::
TBracketL
::
ts
=>
parse_goal
ts
Goal
Pv
s
false
[]
k
|
T
V
s
::
TBracketL
::
ts
=>
parse_goal
ts
Goal
V
s
false
[]
k
|
T
Pv
s
::
ts
=>
parse_go
ts
(
SGoal
Goal
Pv
s
true
[]
::
k
)
|
T
V
s
::
ts
=>
parse_go
ts
(
SGoal
Goal
V
s
true
[]
::
k
)
|
TPersistent
::
TName
s
::
ts
=>
parse_go
ts
(
SName
true
s
::
k
)
|
TPersistent
::
TName
s
::
ts
=>
parse_go
ts
(
SName
true
s
::
k
)
|
TForall
::
ts
=>
parse_go
ts
(
SForall
::
k
)
|
TForall
::
ts
=>
parse_go
ts
(
SForall
::
k
)
|
_
=>
None
|
_
=>
None
...
...
This diff is collapsed.
Click to expand it.
proofmode/tactics.v
+
2
−
2
View file @
b3b5f558
...
@@ -195,7 +195,7 @@ Local Tactic Notation "iSpecializePat" constr(H) constr(pat) :=
...
@@ -195,7 +195,7 @@ Local Tactic Notation "iSpecializePat" constr(H) constr(pat) :=
|
solve_to_wand
H1
|
solve_to_wand
H1
|
match
k
with
|
match
k
with
|
GoalStd
=>
apply
into_assert_default
|
GoalStd
=>
apply
into_assert_default
|
Goal
Pv
s
=>
apply
_
||
fail
"iSpecialize: cannot generate
pvs
goal"
|
Goal
V
s
=>
apply
_
||
fail
"iSpecialize: cannot generate
view shifted
goal"
end
end
|
env_cbv
;
reflexivity
||
fail
"iSpecialize:"
Hs
"not found"
|
env_cbv
;
reflexivity
||
fail
"iSpecialize:"
Hs
"not found"
|
(*goal*)
|
(*goal*)
...
@@ -762,7 +762,7 @@ Tactic Notation "iAssert" open_constr(Q) "with" constr(Hs) "as" constr(pat) :=
...
@@ -762,7 +762,7 @@ Tactic Notation "iAssert" open_constr(Q) "with" constr(Hs) "as" constr(pat) :=
eapply
tac_assert
with
_
_
_
lr
Hs
H
Q
_;
(* (js:=Hs) (j:=H) (P:=Q) *)
eapply
tac_assert
with
_
_
_
lr
Hs
H
Q
_;
(* (js:=Hs) (j:=H) (P:=Q) *)
[
match
k
with
[
match
k
with
|
GoalStd
=>
apply
into_assert_default
|
GoalStd
=>
apply
into_assert_default
|
Goal
Pv
s
=>
apply
_
||
fail
"iAssert: cannot generate
pvs
goal"
|
Goal
V
s
=>
apply
_
||
fail
"iAssert: cannot generate
view shifted
goal"
end
end
|
env_cbv
;
reflexivity
||
fail
"iAssert:"
Hs
"not found"
|
env_cbv
;
reflexivity
||
fail
"iAssert:"
Hs
"not found"
|
env_cbv
;
reflexivity
|
|
env_cbv
;
reflexivity
|
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment