Byapplying[pose],aconvenientdebuggingtoolfor"leaking information out of [match]es,"weseethatthis[match]firsttriesbinding[H]to[H1],whichcannotbeusedtoprove[Q].Nonetheless,thefollowingvariationonthetacticsucceedsatprovingthegoal:*)
(**Weusetheequalitycheckingthatisbuiltintopattern-matchingtoseeifthereisahypothesisthatmatchesthepropositionexactly.Ifso,weusethe[fail]tactic.Withoutarguments,[fail]signalsnormaltacticfailure,asyoumightexpect.When[fail]ispassedanargument[n],[n]isusedtocountoutwardsthroughtheenclosingcasesofbacktrackingsearch.Inthiscase,[fail1]says"fail not just in this pattern-matching branch, but for the whole [match]."Thesecondcasewillneverbetriedwhenthe[fail1]isreached.