Computable Bounds
Lax496464.WH_A6_ComputableBounds · concepts/Lax496464/WH_A6_ComputableBounds.lean · lax-496464
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Theorem
The time factor and the parameter bound of an fpt-reduction must be computable. The bounds that occur in practice are built from constants and the parameter by sums, products, powers and exponentials, and all of them are computable. Every computable is bounded by the computable nondecreasing function , which is what allows bounds to be composed.
Concept map
Evidence
This concept declares 6 statements. Each proof establishes one of them relative to its assumptions.
1 computable_add proven
2 computable_exp proven
3 computable_mul proven
4 computable_polynomial proven
5 computable_pow proven
6 exists_monotone_bound proven
Lean source view on GitHub
| 1 | import Mathlib.Computability.Partrec |
| 2 | import Mathlib.Algebra.Polynomial.Eval.Defs |
| 3 | |
| 4 | /-! |
| 5 | --- |
| 6 | title: Computable Bounds |
| 7 | type: theorem |
| 8 | --- |
| 9 | The time factor and the parameter bound of an fpt-reduction must be computable. The bounds that |
| 10 | occur in practice are built from constants and the parameter by sums, products, powers and |
| 11 | exponentials, and all of them are computable. Every computable is |
| 12 | bounded by the computable nondecreasing function , which is what |
| 13 | allows bounds to be composed. |
| 14 | |
| 15 | # Formalization Notes |
| 16 | |
| 17 | Computability is Mathlib's `Computable`. Together with `Computable.const`, `Computable.id` and |
| 18 | `Computable.comp`, these statements show a bound such as or computable by |
| 19 | combining them. |
| 20 | -/ |
| 21 | |
| 22 | namespace Lax496464.WH_A6_ComputableBounds |
| 23 | |
| 24 | /-- Sums of computable functions are computable. -/ |
| 25 | axiom computable_add {f g : ℕ → ℕ} : |
| 26 | Computable f → Computable g → Computable fun k => f k + g k |
| 27 | |
| 28 | /-- Products of computable functions are computable. -/ |
| 29 | axiom computable_mul {f g : ℕ → ℕ} : |
| 30 | Computable f → Computable g → Computable fun k => f k * g k |
| 31 | |
| 32 | /-- Fixed powers of computable functions are computable. -/ |
| 33 | axiom computable_pow {f : ℕ → ℕ} (e : ℕ) : Computable f → Computable fun k => f k ^ e |
| 34 | |
| 35 | /-- Exponentials `b ^ f(k)` of computable functions are computable. -/ |
| 36 | axiom computable_exp (b : ℕ) {f : ℕ → ℕ} : Computable f → Computable fun k => b ^ f k |
| 37 | |
| 38 | /-- Polynomials with natural coefficients are computable. -/ |
| 39 | axiom computable_polynomial (p : Polynomial ℕ) : Computable fun k => p.eval k |
| 40 | |
| 41 | /-- Every computable function is bounded by a computable nondecreasing function. -/ |
| 42 | axiom exists_monotone_bound {f : ℕ → ℕ} : |
| 43 | Computable f → ∃ g : ℕ → ℕ, Computable g ∧ Monotone g ∧ ∀ k, f k ≤ g k |
| 44 | |
| 45 | end Lax496464.WH_A6_ComputableBounds |
| 46 |
Formalization Notes
Computability is Mathlib's . Together with , and , these statements show a bound such as or computable by combining them.
Builds on
none
Used by
none
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments