I have the following definition:
def spec (w : Nat → State) : Prop :=
(init $ w 0) ∧ (∀t : Nat, w t = w (t+1) ∨ next (w t) (w $ t+1))
And want to use Aesop to solve something very simple:
theorem aesop_proj1 (w : Nat → State) (sp : spec w) : (init $ w 0) :=
by aesop (safe [sp, spec])
theorem aesop_proj2 (w : Nat → State) (sp : spec w) :
(∀t : Nat, w t = w (t+1) ∨ next (w t) (w $ t+1)) :=
by aesop (safe [sp, spec])
Unfortunately, this does not work:
aesop: failed to prove the goal
I know that Aesop is WIP, but proving anything about distributed systems without any kind of logical automation is not great. So I'm trying to use it.
I have the following definition:
And want to use Aesop to solve something very simple:
Unfortunately, this does not work:
I know that Aesop is WIP, but proving anything about distributed systems without any kind of logical automation is not great. So I'm trying to use it.