Skip to main content

Si f es par y g es impar, entonces (f ∘ g) es par

Demostrar con Lean4 que si \(f\) es par y \(g\) es impar, entonces \(f ∘ g\) es par.

Para ello, completar la siguiente teoría de Lean4:

import Mathlib.Data.Real.Basic

variable (f g :   )

-- (esPar f) expresa que f es par.
def esPar (f :   ) : Prop :=
   x, f x = f (-x)

-- (esImpar f) expresa que f es impar.
def esImpar  (f :   ) : Prop :=
   x, f x = - f (-x)

example
  (h1 : esPar f)
  (h2 : esImpar g)
  : esPar (f  g) :=
by sorry

Demostración en lenguaje natural

Supongamos que \(f\) es una función par y \(g\) lo es impar. Tenemos que demostrar que \(f ∘ g\) es par; es decir, que \[ (∀ x ∈ ℝ) (f ∘ g)(x) = (f ∘ g)(-x) \] Sea \(x ∈ ℝ\). Entonces, \begin{align} (f ∘ g)(x) &= f(g(x)) \newline &= f(-g(-x)) &&\text{[porque \(g\) es impar]} \newline &= f(g(-x)) &&\text{[porque \(f\) es par]} \newline &= (f ∘ g)(-x) \end{align}

Demostraciones con Lean4

import Mathlib.Data.Real.Basic

variable (f g :   )

-- (esPar f) expresa que f es par.
def esPar (f :   ) : Prop :=
   x, f x = f (-x)

-- (esImpar f) expresa que f es impar.
def esImpar  (f :   ) : Prop :=
   x, f x = - f (-x)

-- 1ª demostración
example
  (h1 : esPar f)
  (h2 : esImpar g)
  : esPar (f  g) :=
by
  intro x
  calc (f  g) x
       = f (g x)      := rfl
    _  = f (-g (-x))  := congr_arg f (h2 x)
    _  = f (g (-x))   := (h1 (g (-x))).symm
    _  = (f  g) (-x) := rfl

-- 2ª demostración
example
  (h1 : esPar f)
  (h2 : esImpar g)
  : esPar (f  g) :=
by
  intro x
  calc (f  g) x
       = f (g x)      := rfl
     _ = f (-g (-x))  := by rw [h2]
     _ = f (g (-x))   := by rw [ h1]
     _ = (f  g) (-x) := rfl

-- 3ª demostración
example
  (h1 : esPar f)
  (h2 : esImpar g)
  : esPar (f  g) :=
by
  intro x
  calc (f  g) x
       = f (g x)      := rfl
     _ = f (g (-x))   := by rw [h2,  h1]

Demostraciones interactivas

Se puede interactuar con las demostraciones anteriores en Lean 4 Web.

Referencias