# Exploit Test Files **Note**: Each tool is designed for different purposes and performing according to its specifications. ## Tool Comparison Results | Exploit | LeanParanoia | lean4checker | SafeVerify | Comparator | |---------|--------------|--------------|------------|------------| | AuxiliaryShadowing/MatcherShadowing [β†—](tests/lean_exploit_files/AuxiliaryShadowing/MatcherShadowing.lean) | 🟒 1460ms (1488ms) | 🟒 2313ms |
πŸ›‘ 1480msdefinition LeanTestProject.AuxiliaryShadowing.MatcherShadowing.foo does not match the requirement
|
🟑 2843mslean4export: PANIC at Option.get! Init.Data.Option.BasicAux:22:14: value is none
| | AuxiliaryShadowing/PrivateShadowing [β†—](tests/lean_exploit_files/AuxiliaryShadowing/PrivateShadowing.lean) | 🟒 1463ms (1445ms) | 🟒 2304ms |
πŸ›‘ 1499msdefinition LeanTestProject.AuxiliaryShadowing.PrivateShadowing.foo does not match the requirement
|
🟑 2907mslean4export: PANIC at Option.get! Init.Data.Option.BasicAux:22:14: value is none
| | AuxiliaryShadowing/ProofShadowing [β†—](tests/lean_exploit_files/AuxiliaryShadowing/ProofShadowing.lean) | 🟒 1587ms (1538ms) | 🟒 2444ms |
πŸ›‘ 1575msdefinition LeanTestProject.AuxiliaryShadowing.ProofShadowing.foo does not match the requirement
|
🟑 3193mslean4export: PANIC at Option.get! Init.Data.Option.BasicAux:22:14: value is none
| | AuxiliaryShadowing/TheoremShadowing [β†—](tests/lean_exploit_files/AuxiliaryShadowing/TheoremShadowing.lean) |
πŸ›‘ 1650ms (1580ms)Replay
| 🟒 2382ms |
πŸ›‘ 1604mstheorem LeanTestProject.AuxiliaryShadowing.TheoremShadowing.exploit does not have the same type as the requirement
|
🟑 3216mslean4export: PANIC at Option.get! Init.Data.Option.BasicAux:22:14: value is none
| | AuxiliaryShadowing/TypeSignature [β†—](tests/lean_exploit_files/AuxiliaryShadowing/TypeSignature.lean) |
πŸ›‘ 1616ms (1680ms)Replay
| 🟒 2446ms |
πŸ›‘ 1532msdefinition LeanTestProject.AuxiliaryShadowing.TypeSignature.exploit does not match the requirement
|
🟑 3204mslean4export: PANIC at Option.get! Init.Data.Option.BasicAux:22:14: value is none
| | CSimp/WithAxiom [β†—](tests/lean_exploit_files/CSimp/WithAxiom.lean) |
πŸ›‘ 1652ms (1096ms)CSimp; CustomAxioms
| 🟒 2527ms |
πŸ›‘ 1572msexploit_axiom is not in the allowed set of standard axioms
|
πŸ›‘ 4532msIllegal axiom detected: 'sorryAx'
| | CSimp/WithUnsafe [β†—](tests/lean_exploit_files/CSimp/WithUnsafe.lean) |
πŸ›‘ 1722ms (1114ms)CSimp; CustomAxioms
| 🟒 2483ms |
πŸ›‘ 1619msexploit_axiom is not in the allowed set of standard axioms
|
πŸ›‘ 4483msIllegal axiom detected: 'sorryAx'
| | ConstructorIntegrity/ManualConstructor [β†—](tests/lean_exploit_files/ConstructorIntegrity/ManualConstructor.lean) |
πŸ›‘ 1511ms (1049ms)ConstructorIntegrity; CustomAxioms; RecursorIntegrity
| 🟒 2471ms |
πŸ›‘ 1687msdefinition exploit_theorem does not match the requirement
|
πŸ›‘ 4360msChallenge and solution constant kind don't match: 'exploit_theorem'
| | CustomAxioms/FakeStdLib [β†—](tests/lean_exploit_files/CustomAxioms/FakeStdLib.lean) |
πŸ›‘ 3765ms (1552ms)CustomAxioms
| 🟒 2908ms |
πŸ›‘ 2035msStd.TrustMe.forgedFalse is not in the allowed set of standard axioms
|
πŸ›‘ 4879msIllegal axiom detected: 'sorryAx'
| | CustomAxioms/ForgeRunCmd [β†—](tests/lean_exploit_files/CustomAxioms/ForgeRunCmd.lean) |
πŸ›‘ 3725ms (1549ms)CustomAxioms
| 🟒 3067ms |
πŸ›‘ 2087msRunCmdForgedFalse is not in the allowed set of standard axioms
|
πŸ›‘ 4962msChallenge and solution constant kind don't match: 'exploit_theorem'
| | CustomAxioms/ForgeRunTac [β†—](tests/lean_exploit_files/CustomAxioms/ForgeRunTac.lean) |
πŸ›‘ 3855ms (1487ms)CustomAxioms
| 🟒 2840ms |
πŸ›‘ 2105msRunTacForgedFalse is not in the allowed set of standard axioms
|
πŸ›‘ 5002msChallenge and solution constant kind don't match: 'exploit_theorem'
| | CustomAxioms/HiddenInInstance [β†—](tests/lean_exploit_files/CustomAxioms/HiddenInInstance.lean) |
πŸ›‘ 1652ms (1072ms)CustomAxioms
| 🟒 2443ms |
πŸ›‘ 1527msLeanTestProject.CustomAxioms.HiddenInInstance.hidden_axiom is not in the allowed set of standard axioms
|
🟑 3068mslean4export: PANIC at Option.get! Init.Data.Option.BasicAux:22:14: value is none
| | CustomAxioms/HiddenInMacro [β†—](tests/lean_exploit_files/CustomAxioms/HiddenInMacro.lean) |
πŸ›‘ 1604ms (999ms)CustomAxioms
| 🟒 2352ms |
πŸ›‘ 1530msLeanTestProject.CustomAxioms.HiddenInMacro.hidden_axiom is not in the allowed set of standard axioms
|
🟑 2968mslean4export: PANIC at Option.get! Init.Data.Option.BasicAux:22:14: value is none
| | CustomAxioms/ProveAnything [β†—](tests/lean_exploit_files/CustomAxioms/ProveAnything.lean) |
πŸ›‘ 1559ms (985ms)CustomAxioms
| 🟒 2449ms |
πŸ›‘ 1532msmagic is not in the allowed set of standard axioms
|
πŸ›‘ 4061msIllegal axiom detected: 'sorryAx'
| | CustomAxioms/ProveFalse [β†—](tests/lean_exploit_files/CustomAxioms/ProveFalse.lean) |
πŸ›‘ 1499ms (940ms)CustomAxioms
| 🟒 2355ms |
πŸ›‘ 1550msexploit_axiom is not in the allowed set of standard axioms
|
πŸ›‘ 4414msIllegal axiom detected: 'sorryAx'
| | CustomAxioms/SkipKernelTC [β†—](tests/lean_exploit_files/CustomAxioms/SkipKernelTC.lean) |
πŸ›‘ 1625ms (1052ms)CustomAxioms
| 🟒 2459ms | 🟒 1651ms |
πŸ›‘ 4347msSolution constant is not a theorem: 'exploit_theorem'
| | Extern/BuiltinInit [β†—](tests/lean_exploit_files/Extern/BuiltinInit.lean) |
πŸ›‘ 2004ms (1052ms)CustomAxioms; Extern
| 🟒 2486ms |
πŸ›‘ 1636mstheorem exploit_theorem does not have the same type as the requirement
|
πŸ›‘ 4351msChallenge and solution theorem statement do not match: 'exploit_theorem'
| | Extern/CoreNamespace [β†—](tests/lean_exploit_files/Extern/CoreNamespace.lean) |
πŸ›‘ 1720ms (1102ms)CustomAxioms; Extern
| 🟒 2515ms |
πŸ›‘ 1621msexploit_axiom is not in the allowed set of standard axioms
|
πŸ›‘ 4389msIllegal axiom detected: 'sorryAx'
| | Extern/ExportC [β†—](tests/lean_exploit_files/Extern/ExportC.lean) |
πŸ›‘ 1679ms (1061ms)CustomAxioms; Extern
| 🟒 2494ms |
πŸ›‘ 1675msexploit_axiom is not in the allowed set of standard axioms
|
πŸ›‘ 4442msIllegal axiom detected: 'sorryAx'
| | Extern/ExternFFI [β†—](tests/lean_exploit_files/Extern/ExternFFI.lean) |
πŸ›‘ 1619ms (1081ms)CustomAxioms; Extern
| 🟒 2515ms |
πŸ›‘ 1753msexploit_axiom is not in the allowed set of standard axioms
|
πŸ›‘ 4345msIllegal axiom detected: 'sorryAx'
| | Extern/InitHook [β†—](tests/lean_exploit_files/Extern/InitHook.lean) |
πŸ›‘ 2064ms (1105ms)CustomAxioms; Extern
| 🟒 2557ms |
πŸ›‘ 1563mstheorem exploit_theorem does not have the same type as the requirement
|
πŸ›‘ 4436msChallenge and solution theorem statement do not match: 'exploit_theorem'
| | Extern/PrivateExtern [β†—](tests/lean_exploit_files/Extern/PrivateExtern.lean) |
πŸ›‘ 1583ms (1053ms)CustomAxioms; Extern
| 🟒 2357ms |
πŸ›‘ 1654msexploit_axiom is not in the allowed set of standard axioms
|
πŸ›‘ 4482msIllegal axiom detected: 'sorryAx'
| | ImplementedBy/ChainedReplacement [β†—](tests/lean_exploit_files/ImplementedBy/ChainedReplacement.lean) |
πŸ›‘ 1707ms (1072ms)CustomAxioms; Extern; ImplementedBy
| 🟒 2505ms |
πŸ›‘ 1673msexploit_axiom is not in the allowed set of standard axioms
|
πŸ›‘ 4660msIllegal axiom detected: 'sorryAx'
| | ImplementedBy/DirectReplacement [β†—](tests/lean_exploit_files/ImplementedBy/DirectReplacement.lean) |
πŸ›‘ 1710ms (1099ms)CustomAxioms; ImplementedBy; Unsafe
| 🟒 2567ms |
πŸ›‘ 1660msexploit_axiom is not in the allowed set of standard axioms
|
πŸ›‘ 4418msIllegal axiom detected: 'sorryAx'
| | ImplementedBy/PrivateImpl [β†—](tests/lean_exploit_files/ImplementedBy/PrivateImpl.lean) |
πŸ›‘ 1678ms (1110ms)CustomAxioms; ImplementedBy; Unsafe
| 🟒 2459ms |
πŸ›‘ 1485msexploit_axiom is not in the allowed set of standard axioms
|
πŸ›‘ 4390msIllegal axiom detected: 'sorryAx'
| | KernelRejection/NonPositive [β†—](tests/lean_exploit_files/KernelRejection/NonPositive.lean) |
πŸ›‘ 918ms (943ms)KernelRejection
|
πŸ›‘ 2367msCould not find any oleans for: LeanTestProject.KernelRejection.NonPositive
|
🟑 N/AKernel rejected during compilation
|
πŸ›‘ 3015msChild exited with 1
| | KernelRejection/UnsafeCast [β†—](tests/lean_exploit_files/KernelRejection/UnsafeCast.lean) |
πŸ›‘ 893ms (915ms)KernelRejection
|
πŸ›‘ 2279msCould not find any oleans for: LeanTestProject.KernelRejection.UnsafeCast
|
🟑 N/AKernel rejected during compilation
|
πŸ›‘ 3031msChild exited with 1
| | Metavariables/Timeout [β†—](tests/lean_exploit_files/Metavariables/Timeout.lean) |
πŸ›‘ 1583ms (1104ms)CustomAxioms; Sorry; Unsafe
| 🟒 2536ms |
πŸ›‘ 1646mssorryAx is not in the allowed set of standard axioms
|
πŸ›‘ 4515msIllegal axiom detected: 'sorryAx'
| | Metavariables/TypeclassFail [β†—](tests/lean_exploit_files/Metavariables/TypeclassFail.lean) |
πŸ›‘ 1669ms (1109ms)CustomAxioms; Sorry; Unsafe
| 🟒 2516ms |
πŸ›‘ 1642mssorryAx is not in the allowed set of standard axioms
|
πŸ›‘ 4478msIllegal axiom detected: 'sorryAx'
| | NativeComputation/NativeDecide [β†—](tests/lean_exploit_files/NativeComputation/NativeDecide.lean) |
πŸ›‘ 1821ms (1081ms)CustomAxioms; NativeComputation; Replay
|
πŸ›‘ 2514ms(kernel) (interpreter) unknown declaration 'exploit_theorem._nativeDecide_1_1'
|
πŸ›‘ 1670ms(kernel) (interpreter) unknown declaration 'exploit_theorem._nativeDecide_1_1'
|
πŸ›‘ 4454msChallenge and solution theorem statement do not match: 'exploit_theorem'
| | NativeComputation/OfReduce [β†—](tests/lean_exploit_files/NativeComputation/OfReduce.lean) |
πŸ›‘ 2180ms (1212ms)CustomAxioms; NativeComputation; Replay
|
πŸ›‘ 2598ms(kernel) (interpreter) unknown declaration 'exploit_theorem._nativeDecide_1_1'
|
πŸ›‘ 1654ms(kernel) (interpreter) unknown declaration 'exploit_theorem._nativeDecide_1_1'
|
πŸ›‘ 4069msIllegal axiom detected: 'sorryAx'
| | Partial/NonTerminating [β†—](tests/lean_exploit_files/Partial/NonTerminating.lean) |
πŸ›‘ 1569ms (938ms)CustomAxioms; Sorry; Unsafe
| 🟒 2334ms |
πŸ›‘ 1503mssorryAx is not in the allowed set of standard axioms
|
🟑 3137mslean4export: PANIC at Option.get! Init.Data.Option.BasicAux:22:14: value is none
| | RecursorIntegrity/MissingRecursor [β†—](tests/lean_exploit_files/RecursorIntegrity/MissingRecursor.lean) |
πŸ›‘ 1573ms (1032ms)ConstructorIntegrity; CustomAxioms; RecursorIntegrity
| 🟒 2479ms |
πŸ›‘ 1586msdefinition exploit_theorem does not match the requirement
|
πŸ›‘ 4047msChallenge and solution constant kind don't match: 'exploit_theorem'
| | Sorry/Admit [β†—](tests/lean_exploit_files/Sorry/Admit.lean) |
πŸ›‘ 1492ms (1013ms)CustomAxioms; Sorry; Unsafe
| 🟒 2423ms |
πŸ›‘ 1647mssorryAx is not in the allowed set of standard axioms
|
πŸ›‘ 4434msIllegal axiom detected: 'sorryAx'
| | Sorry/ByAsSorry [β†—](tests/lean_exploit_files/Sorry/ByAsSorry.lean) |
πŸ›‘ 1630ms (1043ms)CustomAxioms; Sorry; Unsafe
| 🟒 2434ms |
πŸ›‘ 1677mssorryAx is not in the allowed set of standard axioms
|
πŸ›‘ 4199msIllegal axiom detected: 'sorryAx'
| | Sorry/Direct [β†—](tests/lean_exploit_files/Sorry/Direct.lean) |
πŸ›‘ 1545ms (935ms)CustomAxioms; Sorry; Unsafe
| 🟒 2289ms |
πŸ›‘ 1472mssorryAx is not in the allowed set of standard axioms
|
🟑 3087mslean4export: PANIC at Option.get! Init.Data.Option.BasicAux:22:14: value is none
| | Sorry/Intermediate [β†—](tests/lean_exploit_files/Sorry/Intermediate.lean) |
πŸ›‘ 1711ms (1083ms)CustomAxioms; Sorry; Unsafe
| 🟒 2499ms |
πŸ›‘ 1743mssorryAx is not in the allowed set of standard axioms
|
πŸ›‘ 4925msIllegal axiom detected: 'sorryAx'
| | Sorry/Opaque [β†—](tests/lean_exploit_files/Sorry/Opaque.lean) |
πŸ›‘ 4574ms (1725ms)CustomAxioms; Sorry
| 🟒 3100ms |
πŸ›‘ 2037mssorryAx is not in the allowed set of standard axioms
|
πŸ›‘ 4506msChallenge and solution constant kind don't match: 'exploit_theorem'
| | Sorry/ProofAsSorry [β†—](tests/lean_exploit_files/Sorry/ProofAsSorry.lean) |
πŸ›‘ 1551ms (1082ms)CustomAxioms; Sorry
| 🟒 2537ms |
πŸ›‘ 1698mssorryAx is not in the allowed set of standard axioms
|
πŸ›‘ 4483msIllegal axiom detected: 'sorryAx'
| | Sorry/TerminalTactics [β†—](tests/lean_exploit_files/Sorry/TerminalTactics.lean) |
πŸ›‘ 1687ms (1052ms)CustomAxioms; Sorry; Unsafe
| 🟒 2430ms |
πŸ›‘ 1605mssorryAx is not in the allowed set of standard axioms
|
πŸ›‘ 4367msIllegal axiom detected: 'sorryAx'
| | Sorry/Underscore [β†—](tests/lean_exploit_files/Sorry/Underscore.lean) |
πŸ›‘ 1672ms (1116ms)CustomAxioms; Sorry; Unsafe
| 🟒 2456ms |
πŸ›‘ 1692mssorryAx is not in the allowed set of standard axioms
|
πŸ›‘ 4457msIllegal axiom detected: 'sorryAx'
| | SourcePatterns/LocalInstance [β†—](tests/lean_exploit_files/SourcePatterns/LocalInstance.lean) |
πŸ›‘ 1553ms (998ms)SourcePatterns
| 🟒 2331ms |
πŸ›‘ 1478mstheorem LeanTestProject.SourcePatterns.LocalInstance.exploit_theorem does not have the same type as the requirement
|
🟑 2948mslean4export: PANIC at Option.get! Init.Data.Option.BasicAux:22:14: value is none
| | SourcePatterns/LocalInstanceArithmetic [β†—](tests/lean_exploit_files/SourcePatterns/LocalInstanceArithmetic.lean) |
πŸ›‘ 1628ms (1060ms)SourcePatterns
| 🟒 2472ms |
πŸ›‘ 1639mstheorem exploit_theorem does not have the same type as the requirement
|
πŸ›‘ 4371msChallenge and solution theorem statement do not match: 'exploit_theorem'
| | SourcePatterns/LocalMacroRules [β†—](tests/lean_exploit_files/SourcePatterns/LocalMacroRules.lean) |
πŸ›‘ 1627ms (1052ms)CustomAxioms; SourcePatterns
| 🟒 2412ms |
πŸ›‘ 1601msLeanTestProject.SourcePatterns.LocalMacroRules.hidden_axiom is not in the allowed set of standard axioms
|
🟑 3165mslean4export: PANIC at Option.get! Init.Data.Option.BasicAux:22:14: value is none
| | SourcePatterns/LocalNotation [β†—](tests/lean_exploit_files/SourcePatterns/LocalNotation.lean) |
πŸ›‘ 1676ms (1074ms)SourcePatterns
| 🟒 2532ms |
πŸ›‘ 1680msLeanTestProject.SourcePatterns.LocalNotation.Β«term_β‰ˆ_Β» not found in submission
|
🟑 3232mslean4export: PANIC at Option.get! Init.Data.Option.BasicAux:22:14: value is none
| | SourcePatterns/NotationRedefinition [β†—](tests/lean_exploit_files/SourcePatterns/NotationRedefinition.lean) |
πŸ›‘ 1682ms (1026ms)CustomAxioms; SourcePatterns
| 🟒 2425ms |
πŸ›‘ 1628mstheorem LeanTestProject.SourcePatterns.NotationRedefinition.exploit_theorem does not have the same type as the requirement
|
🟑 3292mslean4export: PANIC at Option.get! Init.Data.Option.BasicAux:22:14: value is none
| | SourcePatterns/ScopedNotation [β†—](tests/lean_exploit_files/SourcePatterns/ScopedNotation.lean) |
πŸ›‘ 1723ms (1101ms)CustomAxioms; SourcePatterns
| 🟒 2508ms |
πŸ›‘ 1689msLeanTestProject.SourcePatterns.ScopedNotation._aux_SourcePatterns_ScopedNotation___unexpand_False_1 not found in submission
|
🟑 3208mslean4export: PANIC at Option.get! Init.Data.Option.BasicAux:22:14: value is none
| | Transitive/DeepAxiom_L1 [β†—](tests/lean_exploit_files/Transitive/DeepAxiom_L1.lean) |
πŸ›‘ 2132ms (1106ms)CustomAxioms
| 🟒 2536ms |
πŸ›‘ 1627mscustom_axiom is not in the allowed set of standard axioms
|
πŸ›‘ 4022msIllegal axiom detected: 'sorryAx'
| | Transitive/DeepSorry_L1 [β†—](tests/lean_exploit_files/Transitive/DeepSorry_L1.lean) |
πŸ›‘ 2016ms (1018ms)CustomAxioms; Sorry; Unsafe
| 🟒 2455ms |
πŸ›‘ 1632mssorryAx is not in the allowed set of standard axioms
|
πŸ›‘ 4243msIllegal axiom detected: 'sorryAx'
| | Transitive/DeepSorry_L2 [β†—](tests/lean_exploit_files/Transitive/DeepSorry_L2.lean) |
πŸ›‘ 2448ms (1081ms)CustomAxioms; Sorry; Unsafe
| 🟒 2501ms |
πŸ›‘ 1644mssorryAx is not in the allowed set of standard axioms
|
πŸ›‘ 4491msIllegal axiom detected: 'sorryAx'
| | Transitive/Level2_UsesBoth [β†—](tests/lean_exploit_files/Transitive/Level2_UsesBoth.lean) | 🟒 2129ms (2095ms) | 🟒 2424ms | 🟒 1622ms |
🟒 4224msYour solution is okay!
| | Transitive/UsesBadLib [β†—](tests/lean_exploit_files/Transitive/UsesBadLib.lean) |
πŸ›‘ 1972ms (1016ms)CustomAxioms
| 🟒 2398ms |
πŸ›‘ 1597msBadLib.hiddenAssumption is not in the allowed set of standard axioms
|
πŸ›‘ 4239msIllegal axiom detected: 'sorryAx'
| | Unsafe/UnsafeDefinition [β†—](tests/lean_exploit_files/Unsafe/UnsafeDefinition.lean) |
πŸ›‘ 1616ms (1102ms)CustomAxioms; ImplementedBy; Unsafe
| 🟒 2473ms |
πŸ›‘ 1648msexploit_axiom is not in the allowed set of standard axioms
|
πŸ›‘ 4308msIllegal axiom detected: 'sorryAx'
| | Valid/ComplexExample [β†—](tests/lean_exploit_files/Valid/ComplexExample.lean) | 🟒 1759ms (1702ms) | 🟒 2521ms |
πŸ›‘ 1710ms_private.Valid.ComplexExample.0.LeanTestProject.Valid.ComplexExample.Tree.size.match_1.eq_1 not found in submission
|
🟑 2894mslean4export: PANIC at Option.get! Init.Data.Option.BasicAux:22:14: value is none
| | Valid/Dependencies [β†—](tests/lean_exploit_files/Valid/Dependencies.lean) | 🟒 1911ms (1899ms) | 🟒 2292ms | 🟒 1509ms |
🟒 3966msYour solution is okay!
| | Valid/Helper [β†—](tests/lean_exploit_files/Valid/Helper.lean) | 🟒 1631ms (1554ms) | 🟒 2332ms | 🟒 1541ms |
🟒 4254msYour solution is okay!
| | Valid/Simple [β†—](tests/lean_exploit_files/Valid/Simple.lean) | 🟒 1607ms (1631ms) | 🟒 2477ms | 🟒 1635ms |
🟒 4363msYour solution is okay!
| | Valid/UnsafeReducibility [β†—](tests/lean_exploit_files/Valid/UnsafeReducibility.lean) | 🟒 1627ms (1619ms) | 🟒 2459ms | 🟒 1630ms |
🟒 4334msYour solution is okay!
| | Valid/WithAxioms [β†—](tests/lean_exploit_files/Valid/WithAxioms.lean) | 🟒 1807ms (1821ms) | 🟒 2497ms | 🟒 1663ms |
🟑 3247mslean4export: PANIC at Option.get! Init.Data.Option.BasicAux:22:14: value is none
| --- ### Legend - πŸ›‘ **Detected**: Tool identified an exploit - 🟒 **Passed**: Tool did not detect any exploit - 🟑 **N/A**: Test setup issue or methodology limitation -
Click to show detailsVerification results or tool output
### Timing - **LeanParanoia**: Verification of pre-compiled `.olean` files (fail-fast time in brackets) - **Lean4checker**: Kernel re-verification of pre-compiled `.olean` files - **SafeVerify**: Comparison of pre-compiled `.olean` files - **Comparator**: Equivalence checking of pre-compiled `.olean` files Note: WIP, might contain inaccuracies.