Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Rodolphe Lepigre
Iris
Commits
557e6043
Commit
557e6043
authored
Sep 21, 2017
by
Robbert Krebbers
Browse files
A stronger induction principle for fixpoints.
parent
9e429c46
Changes
1
Hide whitespace changes
Inline
Side-by-side
theories/base_logic/fixpoint.v
View file @
557e6043
...
...
@@ -52,6 +52,18 @@ Section least.
Proof
.
iIntros
"#HΦ"
(
x
)
"HF"
.
by
iApply
(
"HF"
$!
(
CofeMor
Φ
)
with
"[#]"
).
Qed
.
Lemma
least_fixpoint_strong_ind
(
Φ
:
A
→
uPred
M
)
`
{!
NonExpansive
Φ
}
:
□
(
∀
y
,
F
(
λ
x
,
Φ
x
∧
uPred_least_fixpoint
F
x
)
y
→
Φ
y
)
⊢
∀
x
,
uPred_least_fixpoint
F
x
→
Φ
x
.
Proof
.
trans
(
∀
x
,
uPred_least_fixpoint
F
x
→
Φ
x
∧
uPred_least_fixpoint
F
x
)%
I
.
{
iIntros
"#HΦ"
.
iApply
least_fixpoint_ind
;
first
solve_proper
.
iIntros
"!#"
(
y
)
"H"
.
iSplit
;
first
by
iApply
"HΦ"
.
iApply
least_fixpoint_unfold_2
.
iApply
(
bi_mono_pred
with
"[] H"
).
by
iIntros
"!# * [_ ?]"
.
}
by
setoid_rewrite
and_elim_l
.
Qed
.
End
least
.
Section
greatest
.
...
...
Write
Preview
Supports
Markdown
0%
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!
Cancel
Please
register
or
sign in
to comment