Reputation: 647
Basically, I want to do pose (h st)
on this equation:
h : (forall st : state, (P st -> wp st) /\ sd st) ->
forall st st' : state,
extract d1 / st \\ st' -> P st -> Q st'
However, when I run the command, coq tells me:
The term "st" has type "state" while it is expected to have type
"forall st : state, (P st -> wp st) /\ sd st".
What is the right step?
Upvotes: 0
Views: 119
Reputation: 496
The problem is that st
is the second argument of h
, while the first is expected to have that complicated type in the error. You can instead do pose (fun H => h H st)
.
Upvotes: 1