{"version":1,"pages":[{"id":"AxmTxi3A994ouRGCXMOS","title":"Kontrol","pathname":"/kontrol","siteSpaceId":"sitesp_DuIup","description":"Kontrol your smart contracts with formal verification made simple","breadcrumbs":[{"label":"Overview"}]},{"id":"wXrfg1cm2f44bYSO5kdv","title":"The significance","pathname":"/kontrol/overview/readme/the-significance","siteSpaceId":"sitesp_DuIup","description":"Why Formal Verification with Kontrol?","breadcrumbs":[{"label":"Overview"},{"label":"Kontrol"}]},{"id":"DT7iHL1tL6tLrCU56BlB","title":"Installations","pathname":"/kontrol/overview/readme/installations","siteSpaceId":"sitesp_DuIup","description":"Everything you need to install","breadcrumbs":[{"label":"Overview"},{"label":"Kontrol"}]},{"id":"po3UA5zX3C6B3V8jb6YC","title":"Proofcast Episode: Getting Started","pathname":"/kontrol/guides/proofcast-episode","siteSpaceId":"sitesp_DuIup","description":"Learn Kontrol through a hands-on video tutorial","breadcrumbs":[{"label":"Guides"}]},{"id":"OVV9rg866hMfuKoMcfxW","title":"Kontrol Example","pathname":"/kontrol/guides/kontrol-example","siteSpaceId":"sitesp_DuIup","description":"How to run property tests with Kontrol","breadcrumbs":[{"label":"Guides"}]},{"id":"iOJc4SPcqCSxkRzNPNsf","title":"Property Verification using Kontrol","pathname":"/kontrol/guides/kontrol-example/property-verification-using-kontrol","siteSpaceId":"sitesp_DuIup","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Kontrol Example"}]},{"id":"B1cjK20zPKRKBhU6yIfy","title":"K Control Flow Graph (KCFG)","pathname":"/kontrol/guides/kontrol-example/k-control-flow-graph-kcfg","siteSpaceId":"sitesp_DuIup","description":"Investigating a failed test and understanding the KCFG output","breadcrumbs":[{"label":"Guides"},{"label":"Kontrol Example"}]},{"id":"S3cAMFxR6QsnSRikDXEP","title":"Proof Management","pathname":"/kontrol/guides/kontrol-example/proof-management","siteSpaceId":"sitesp_DuIup","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Kontrol Example"}]},{"id":"ED5vLXMQfQ4qtCEd0kSJ","title":"Debugging a Proof","pathname":"/kontrol/guides/kontrol-example/linked-library-example","siteSpaceId":"sitesp_DuIup","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Kontrol Example"}]},{"id":"r5R2rPkigZEXOOSPDnH7","title":"Handling Dynamically Sized Inputs","pathname":"/kontrol/guides/kontrol-example/dynamic-types","siteSpaceId":"sitesp_DuIup","description":"How to work with dynamically sized types in Kontrol using NatSpec annotations","breadcrumbs":[{"label":"Guides"},{"label":"Kontrol Example"}]},{"id":"bxwpDhDB0U1tnpGpzd6J","title":"Compositional Symbolic Execution (CSE) and Node Merging","pathname":"/kontrol/guides/kontrol-example/compositional-symbolic-execution","siteSpaceId":"sitesp_DuIup","description":"Learn about Compositional Symbolic Execution (CSE) and optimization techniques in Kontrol","breadcrumbs":[{"label":"Guides"},{"label":"Kontrol Example"}]},{"id":"cQ9FA1AkvgFcdneUIi4l","title":"Node Refutation","pathname":"/kontrol/guides/node-refutation","siteSpaceId":"sitesp_DuIup","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"tmHzaNfsga6bOoqSZ6En","title":"Bytecode Verification","pathname":"/kontrol/guides/bytecode-verification","siteSpaceId":"sitesp_DuIup","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"3L2gLXuWYvo1im3GizWb","title":"Advancing Proofs","pathname":"/kontrol/guides/advancing-proofs","siteSpaceId":"sitesp_DuIup","description":"How to identify and write lemmas to advance on your proofs","breadcrumbs":[{"label":"Guides"}]},{"id":"3orRyroeS5wOLiUjRveg","title":"KEVM Lemmas","pathname":"/kontrol/guides/advancing-proofs/kevm-lemmas","siteSpaceId":"sitesp_DuIup","description":"How to debug your KCFG and find KEVM reasoning gaps","breadcrumbs":[{"label":"Guides"},{"label":"Advancing Proofs"}]},{"id":"QGVUCHl36llweWO7Q4ap","title":"Writing Simplifications","pathname":"/kontrol/guides/advancing-proofs/simplifications-guide","siteSpaceId":"sitesp_DuIup","description":"A comprehensive guide to writing simplifications for Kontrol","breadcrumbs":[{"label":"Guides"},{"label":"Advancing Proofs"}]},{"id":"pYELlgZDDignFjP8RzLJ","title":"Rule Application","pathname":"/kontrol/guides/advancing-proofs/rule-application","siteSpaceId":"sitesp_DuIup","description":"A detailed look at rules and rule application in K","breadcrumbs":[{"label":"Guides"},{"label":"Advancing Proofs"}]},{"id":"tgiczJ8bFHm3ZQKTit3Y","title":"Symbolic Storage","pathname":"/kontrol/guides/advancing-proofs/symbolic-storage","siteSpaceId":"sitesp_DuIup","description":"Using structured symbolic storage in Kontrol tests","breadcrumbs":[{"label":"Guides"},{"label":"Advancing Proofs"}]},{"id":"Qm731yycyYStW0XFMC3A","title":"Structured Symbolic Storage Generation","pathname":"/kontrol/guides/structured-symbolic-storage-generation","siteSpaceId":"sitesp_DuIup","description":"Automated generation of structured symbolic storage","breadcrumbs":[{"label":"Guides"}]},{"id":"wNIXazzQ9t98Xh4vWTR3","title":"Counterexample Generation","pathname":"/kontrol/guides/counterexample-generation","siteSpaceId":"sitesp_DuIup","description":"Generating counterexamples for failing proofs in Kontrol","breadcrumbs":[{"label":"Guides"}]},{"id":"w2JH687bgNJO4wl0Ezzt","title":"Kup Cheatsheet","pathname":"/kontrol/cheatsheets/kup-cheatsheet","siteSpaceId":"sitesp_DuIup","description":"","breadcrumbs":[{"label":"Cheatsheets"}]},{"id":"tSDMLRlR33DFOCPZLbxX","title":"Kontrol Cheatsheet","pathname":"/kontrol/cheatsheets/kontrol-cheatsheet","siteSpaceId":"sitesp_DuIup","description":"Cheatsheet with (almost) all Kontrol options and gotchas","breadcrumbs":[{"label":"Cheatsheets"}]},{"id":"cqlkgmE4ZBUzvinc1EVC","title":"Cheatcodes","pathname":"/kontrol/cheatsheets/cheatcodes","siteSpaceId":"sitesp_DuIup","description":"Learn about Kontrol's cheatcodes for testing and verification","breadcrumbs":[{"label":"Cheatsheets"}]},{"id":"SpVCs0dEOQcR1fgAKnd2","title":"Debugging Failing Proofs","pathname":"/kontrol/tips/debugging-failing-proofs","siteSpaceId":"sitesp_DuIup","description":"Tips and tricks for running Kontrol and debugging failing proofs","breadcrumbs":[{"label":"Tips"}]},{"id":"seJ5r38ETUcBNFqR9mPJ","title":"Kontrol Arguments","pathname":"/kontrol/glossary/kontrol-arguments","siteSpaceId":"sitesp_DuIup","breadcrumbs":[{"label":"Glossary"}]},{"id":"9Zl4J6dLf7DPoQcBIZg1","title":"Kontrol Build Options","pathname":"/kontrol/glossary/kontrol-build-options","siteSpaceId":"sitesp_DuIup","breadcrumbs":[{"label":"Glossary"}]},{"id":"MRERovvpHt79H4uTh2NR","title":"Kontrol Prove Flags","pathname":"/kontrol/glossary/kontrol-prove-flags","siteSpaceId":"sitesp_DuIup","breadcrumbs":[{"label":"Glossary"}]},{"id":"bAlLBT1pOyQkuFgJ28pR","title":"Digest File","pathname":"/kontrol/developer-docs/digest-file","siteSpaceId":"sitesp_DuIup","description":"","breadcrumbs":[{"label":"Developer Docs"}]},{"id":"z7rvgR1jqcrNHTTrzJEJ","title":"Resources","pathname":"/kontrol/learn-more/resources","siteSpaceId":"sitesp_DuIup","description":"Learning materials, community, and educational resources for Kontrol","breadcrumbs":[{"label":"Learn More"}]},{"id":"T6Bi9Auom5D0xdg1C8Zf","title":"Example Projects","pathname":"/kontrol/learn-more/example-projects","siteSpaceId":"sitesp_DuIup","description":"Code repositories, projects, and practical examples using Kontrol","breadcrumbs":[{"label":"Learn More"}]}]}