This is not verified by Dafny:
assert forall p,q,p',q' :: (p==>p' && q==>q') ==> (p||q ==> p'||q') ;
And, more generally, I'm having trouble verifying calculations involving disjunction.
This is not verified by Dafny:
assert forall p,q,p',q' :: (p==>p' && q==>q') ==> (p||q ==> p'||q') ;
And, more generally, I'm having trouble verifying calculations involving disjunction.
assert forall p,q,p',q' :: ((p==>p') && (q==>q')) ==> (p||q ==> p'||q') ;
Don't forget the parentheses around ==>, otherwise your second condition is treated as p ==> ((p' && q) ==> q')