"'O      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN NoneG OPQRSTUVW OPQRSTUVW OPQRSTUVWNone GX3Use fewer constructors to express the same program.Y5Add back in syntactic forms to make it more readable.Z[\]X^_`abcdeYfghi[XYZ[\]X^_`abcdeYfghiNone +CFG4 jklmnopqrstuvwxyz{|}~" jlmnopqrstuvwxz{(  jklmnopqrstuvwxyz{|}~None +FG None+CFG  All these things are append only4 !"#$%&'()*+,-./01) !"#$%&'()*+,-./01" !"#$%&'()*+,-./01NoneG2XUse a new prop which is the same as the previous goal, but with any number of unfoldings3dUse a new prop which is the same as the first goals prop, but with simplified/rearranged expressions42Apply the coinduction principle on the computation51Split the expression into multiple subexpressions6The first goal is a tautology234562345623456None1  !"#$%&(),-.01234561    !"#$%&,-.01()23456 Safe  None FGN789:;<=>?@ABCDEFGHIJKLMN'(*+/789:;<=>?@ABCDEFGHIJKLMN'*:;(897<=LHIJKA>?@BCDEFGMN+/789:;<=>?@ABCDEFGHIJKLMN      !"#$$%&'()*++,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy_z{|}~* qed_IjhWkFfWcBKKufRDNcEHZoProof.QED.Internal Proof.QED Proof.Util Proof.Exp.HSEProof.Exp.CoreProof.Exp.PropProof.QED.TypeProof.QED.Trusted Paths_qedPatPConPWildExpVarConAppLetLamCaseCfromConVfromVarPropBindBadProofProofGoalSideLHSRHSUnknowngoals focusSidefocusAtKnown definitionstypesassumedprovedcheaterQEDLawsqedqedCheatgetKnown getUnknowngetGoal unsafeCheatbadProof isBadProof rewriteUnfoldrewriteEquivalentrewriteRecurse rewriteSplitrewriteTautology PropStringlawlawsimportsdeclprovesatisfyunfoldunfold_strictrecurseexpandunletdividetwicethricemanyrhslhsbhsatbindperhapsskiprnf2rnf3rnf4rnf5headNotefast idempotent equivalentOnsimpleReadsPrecdeflateinflatefasterListCompslnamesfreshspec deflateDecl deflateQName deflateExp irrefutable deflatePatdeflateWildcardisPVar inflateExp inflatePat inflateRhs inflateAltisVarcaseConappslamsletsfromLetsfromLamsfromAppsvarsvarsPfreesubstrelabel relabelAvoideval equivalent simplifyExpcheaplinearcountfromDeclfromExpfromNamefromAltfromPat fromPatVartoDecltoExptoAlttoPattoName $fNFDataPat $fNFDataExp $fShowExp $fReadExpsym simplifyProp==> tautology $fReadProp $fShowProp $fNFDataProp builtinTypes modifyKnown addDefinitionaddType addAssumed addProvedunsafeReplaceFirstGoal setFocusSide setFocusAtaddBindrunBind$fExceptionBadProof$fShowBadProof $fNFDataGoal $fNFDataSide$fNFDataUnknown $fNFDataKnown checkEqual checkUnfoldreducecatchIOversionbindirlibdirdatadir libexecdir sysconfdir getBinDir getLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNameaddDeclsideapplyauto autoSimplifyautoPeel