vellvm / ctrees

An itree-like data-structure to additionally support internal non-determinism
MIT License
13 stars 2 forks source link

[CTL] Coinduction lemma #30

Open elefthei opened 1 year ago

elefthei commented 1 year ago

The Coinduction library allows for parametrized coinduction proofs on the shallow definition of ag but we have no way to do the same kind of proof in the deep definition, for example

We need to unfold entailsF only to do the parametrized coinduction underneath. This exposes the low-level details to the user of the deep embedding. We shouldn't do that and related #29 entailsF should be opaque. One attempt at defining AG_coind' requires explicitly providing the coinductive relation, which is extremely tedious and cancels all the benefits of parametrized coinduction.

What would it take to do parametrized coinduction proofs without unfolding entailsF and without defining the relation R manually?