functional programming - How to extract the instantiated variable in Isabelle? -


I'm trying to prove the following in Isabel:

  Theorem map_fold: Apply "∃ b (mapf xs) = dollh hss b" Apply (induction xs)  

How do I get quick value of h Do and b ?

Sometimes a way to work for this purpose is a schematic Lemma:

< Pre> schematic_lemma "map f xs = foldr? H xs? B" Apply (include xs) Apply simp ...

> Simple or < Code> Rule can integrate schematic variables during the proof (result of integration). If you are able to complete the proof, then you can see the result of Lemma to see the end result.

Be careful that the schematic variable may be a bit difficult: sometimes simp will trigger such a schematic variable in such a way that it proves the current goal, but simultaneously Makes other subgoals resolvable.

In this specific case, Isabel is able to insist with no problem, but can not determine it? In general, by combining integration with function types, schematic variables are very complex to handle.

Finally, I did something that the manual suggested: First of all, the usual variable ( lemma "map f xs = dollh xsb" ). Then see that the evidence is trapped by induction, and by the time it is not proven, the statement increases.


Comments