El producto de dos funciones no negativas es no negativa
Demostrar que el producto de dos funciones no negativas es no negativa.
Para ello, completar la siguiente teoría de Lean:
1 2 3 4 5 6 7 8 9 10 |
import data.real.basic variables (f g : ℝ → ℝ) def no_negativa (f : ℝ → ℝ) : Prop := ∀ x, 0 ≤ f x example (nnf : no_negativa f) (nng : no_negativa g) : no_negativa (f * g) := sorry |
Soluciones con Lean
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
import data.real.basic variables (f g : ℝ → ℝ) def no_negativa (f : ℝ → ℝ) : Prop := ∀ x, 0 ≤ f x -- 1ª demostración -- =============== example (nnf : no_negativa f) (nng : no_negativa g) : no_negativa (f * g) := begin have h1 : ∀x, 0 ≤ f x * g x, { intro x, have h2: 0 ≤ f x := nnf x, have h3: 0 ≤ g x := nng x, show 0 ≤ f x * g x, by exact mul_nonneg (nnf x) (nng x), }, show no_negativa (f * g), by exact h1, end -- 2ª demostración -- =============== example (nnf : no_negativa f) (nng : no_negativa g) : no_negativa (f * g) := begin intro x, change 0 ≤ f x * g x, apply mul_nonneg, apply nnf, apply nng end -- 3ª demostración -- =============== example (nnf : no_negativa f) (nng : no_negativa g) : no_negativa (f * g) := λ x, mul_nonneg (nnf x) (nng x) |
Se puede interactuar con la prueba anterior en esta sesión con Lean.
Referencias
- J. Avigad, K. Buzzard, R.Y. Lewis y P. Massot. Mathematics in Lean, p. 27.