I have the following subgoal
goal (1 subgoal):
1. ⋀x y. P x (?y6 x y) ⟹ P (?x8 x y) y
Apparently this can be proven by assumption
. Why is this? The left side of the implication doesn't look anything like right right hand side.
This goal comes from the following lemma with proof
lemma "(∃x. ∀y. P x y) ⟶ (∀y. ∃x. P x y)"
apply (rule impI)
apply (erule exE, rule allI)
apply (erule allE)
apply (rule exI)
apply assumption
done
?y6 x y
are variable that you can pick
they are left-overs from the unification algorithm
So you can pick ?y6 := y
and ?x8 := x
and the assumption and goal become the same
If you want to play with such goals, you can use schematic_goal
:
schematic_goal ‹P 0 ⟹ P ?a ∧ Q ?a›
apply (rule conjI)
apply assumption
(*
goal instantiation:
?a ↝ 0
*)
sorry
Last updated: Dec 21 2024 at 16:20 UTC