Freedom251 › Property-Based Testing Tools
Plausible

What Plausible is
Plausible is a free property-testing framework for Lean 4 that integrates with Lean’s tactic framework. Its plausible tactic searches for counterexamples and can display a failing case for a false proposition, including an array example. Plausible.Testable.check provides a programmatic way to check properties, and failing cases can be shrunk. Built-in Lean types are usually handled without additional setup. Custom types require Repr, Plausible.Shrinkable, and Plausible.SampleableExt instances, or Plausible.Arbitrary. Users can derive Arbitrary for algebraic data types, including with a top-level deriving command for multiple types. The project directs users to its module documentation for more information. Plausible supports Lean 4 and the Lean 4 tactic framework, and its repository identifies the Apache-2.0 license. Its purpose is property checking and counterexample discovery rather than general testing across programming languages.
Who it suits
Plausible suits Lean 4 developers checking propositions and shrinking failing examples. It is useful when properties involve built-in or suitably configured custom types.
What it does well
- Free Apache-2.0 project
- Finds counterexamples
- Shrinks failing cases
- Programmatic property checking
- Supports derived Arbitrary instances
What to know first
- Limited to Lean 4
- Custom types require support instances
- Not a general multi-language test framework
Verdict
Plausible adds property checking and counterexample search directly to Lean’s tactic workflow. Users working with custom types need to provide the documented instances or Arbitrary support.
Facts from Plausible's own pages
- Arbitrary instances
- The README says users can derive `Arbitrary` for algebraic data types or use a top-level deriving command for multiple types. · github.com, 8 Oct 2026
- Built-in types
- The README says Plausible usually handles built-in types without additional setup. · github.com, 8 Oct 2026
- Counterexamples
- The README shows the `plausible` tactic finding and displaying a counterexample to a proposition. · github.com, 8 Oct 2026
- Counterexample search
- The README shows the `plausible` tactic finding a counterexample for a false property involving arrays. · github.com, 9 Oct 2026
- Custom types
- The README says custom types need `Repr`, `Plausible.Shrinkable`, and `Plausible.SampleableExt` instances, or `Plausible.Arbitrary`. · github.com, 9 Oct 2026
- Deriving Arbitrary
- The README documents deriving `Arbitrary` for algebraic data types, including with a top-level `deriving instance` command. · github.com, 9 Oct 2026
- Documentation
- The README directs users to the module documentation for more information. · github.com, 8 Oct 2026
- License
- The repository identifies its license as Apache-2.0. · github.com, 9 Oct 2026
- Product
- Plausible is a property testing framework for Lean 4 that integrates into the tactic framework. · github.com, 8 Oct 2026
- Programmatic checking
- The README shows properties being checked with `Plausible.Testable.check`. · github.com, 9 Oct 2026
- Property checking
- The README demonstrates checking a property with `Plausible.Testable.check`. · github.com, 8 Oct 2026
- Purpose
- Plausible is a property testing framework for Lean 4 that integrates into the tactic framework. · github.com, 9 Oct 2026
Where Plausible stands on Freedom251
- Property-Based Testing Tools#22 of 28