Îõ³h$÷G"      ! Safe-Inferred3567Ð spdxTest for equivalence.Æequivalent (LMeet (LVar 'a') (LVar 'b')) (LMeet (LVar 'b') (LVar 'a'))True3equivalent (LVar 'a') (LMeet (LVar 'a') (LVar 'a'))TrueÆequivalent (LMeet (LVar 'a') (LVar 'b')) (LMeet (LVar 'b') (LVar 'b'))False spdxTest for preorder.  a äD b ÔC a ¨D b áD b ÔC a áD a §D b/preorder (LVar 'a' `LMeet` LVar 'b') (LVar 'a')True/preorder (LVar 'a') (LVar 'a' `LMeet` LVar 'b')FalsespdxReturn "8 if for some variable assigment expression evaluates to ".    None5spdx %æO satisfies a b çO áD a åD b áD a §D b = bÈunsafeParseExpr "GPL-3.0-only" `satisfies` unsafeParseExpr "ISC AND MIT"FalseÉunsafeParseExpr "Zlib" `satisfies` unsafeParseExpr "ISC AND MIT AND Zlib"TrueÓunsafeParseExpr "(MIT OR GPL-2.0-only)" `satisfies` unsafeParseExpr "(ISC AND MIT)"TrueÝunsafeParseExpr "(MIT AND GPL-2.0-only)" `satisfies` unsafeParseExpr "(MIT AND GPL-2.0-only)"TrueÝunsafeParseExpr "(MIT AND GPL-2.0-only)" `satisfies` unsafeParseExpr "(ISC AND GPL-2.0-only)"FalsespdxCheck wheather two  are equivalent.ÞunsafeParseExpr "(MIT AND GPL-2.0-only)" `equivalent` unsafeParseExpr "(GPL-2.0-only AND MIT)"TrueÈunsafeParseExpr "MIT" `equivalent` unsafeParseExpr "MIT OR BSD-3-Clause"Falsespdxpackage licensespdxlicense policy#      !"#$%&'()*+,#spdx-1.0.0.3-Cyujgf0eyW8G7WW6dyYsNlDistribution.SPDX.Extra Distribution.SPDX.Extra.Internal Cabal-3.2.0.0Distribution.SPDX.LicenseLicense#Distribution.SPDX.LicenseExpressionLicenseExpressionSimpleLicenseExpression$Distribution.SPDX.LicenseExceptionIdLicenseExceptionIdDistribution.SPDX.LicenseId LicenseId LatticeSyntaxLVarLBoundLJoinLMeetfreeVarsdual equivalentpreorder satisfiable$fMonadLatticeSyntax$fApplicativeLatticeSyntax$fMonadPlusEval $fMonadEval$fAlternativeEval$fApplicativeEval $fFunctorEval$fEqLatticeSyntax$fOrdLatticeSyntax$fReadLatticeSyntax$fShowLatticeSyntax$fFunctorLatticeSyntax$fFoldableLatticeSyntax$fTraversableLatticeSyntax$fDataLatticeSyntax satisfies$fEqLic$fOrdLicghc-prim GHC.TypesTrue