ForMatUS: Pruebas en Lean de que las partes simétricas son simétricas
He añadido a la lista Lógica con Lean el vídeo en el que se comentan 6 pruebas en Lean de la siguiente propiedad: “Si R es una relación, entonces su parte simétrica (es decir, la relación S definida por S x y := R x y ∧ R y x) es simétrica”, usando los estilos declarativos, aplicativos, funcional y automático.
A continuación, se muestra el vídeo
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 47 48 49 50 51 52 53 54 |
-- ---------------------------------------------------- -- Ej. 1. La parte simétrica de una relación R es la -- relación S definida por -- S x y := R x y ∧ R y x -- -- Demostrar que la parte simétrica de cualquier -- relación es simétrica. -- ---------------------------------------------------- section parameter A : Type parameter R : A → A → Prop def S (x y : A) := R x y ∧ R y x -- 1ª demostración example : symmetric S := begin intros x y h, split, { exact h.right, }, { exact h.left, }, end -- 2ª demostración example : symmetric S := begin intros x y h, exact ⟨h.right, h.left⟩, end -- 3ª demostración example : symmetric S := λ x y h, ⟨h.right, h.left⟩ -- 4ª demostración example : symmetric S := assume x y, assume h : S x y, have h1 : R x y, from h.left, have h2 : R y x, from h.right, show S y x, from ⟨h2, h1⟩ -- 5ª demostración example : symmetric S := assume x y, assume h : S x y, show S y x, from ⟨h.right, h.left⟩ -- 6ª demostración example : symmetric S := λ x y h, ⟨h.right, h.left⟩ end |