NPAへ戻る

Module

Mathlib.Logic.Eq

npa-mathlib

Packages

2

Module

63

Theorem

750

Declarations

1016

信頼境界外の sidecar

Source text や表示 overlay は提示用メタデータです。信頼する証拠は署名済み証明書と checker の結果です。

Theorem

11

Definition

0

Inductive type

0

Axiom

0

Declarations

Hashes

source
sha256:840d68cb64b2b75fe048cf8f47b5908b05d72c488a6c4168777980d88052a954
certificateFile
sha256:763bce3ceb66a1ad3d8c42c2f3de702361c26a34dc48cb48bb32e39aae200075
export
sha256:1c07efd64036803a90acda145142dfaca01324bf4ac0851f9084c2b398f322f8
axiomReport
sha256:bc3aec4eabbf2c61f399239a21f359b264c36873e750ed25c9059fee86484bea
certificate
sha256:72a9b7d00d295691fcf1b0a256200104d50a8ad1efbee355cd0f6fd1a9e697e8

Source

import Std.Logic.Eq
import Std.Nat.Basic

theorem eq_refl_self.{u} :
  forall (A : Sort u), forall (x : A), @Eq.{u} A x x :=
  fun A => fun x => @Eq.refl.{u} A x

theorem eq_refl_fn_app.{u,v} :
  forall (A : Sort u), forall (B : Sort v), forall (f : forall (x : A), B), forall (x : A), @Eq.{v} B (f x) (f x) :=
  fun A => fun B => fun f => fun x => @Eq.refl.{v} B (f x)

theorem eq_refl_compose.{u,v,w} :
  forall (A : Sort u), forall (B : Sort v), forall (C : Sort w), forall (f : forall (x : B), C), forall (g : forall (x : A), B), forall (x : A), @Eq.{w} C (f (g x)) (f (g x)) :=
  fun A => fun B => fun C => fun f => fun g => fun x => @Eq.refl.{w} C (f (g x))

theorem eq_self_imp.{u} :
  forall (A : Sort u), forall (x : A), forall (h : @Eq.{u} A x x), @Eq.{u} A x x :=
  fun A => fun x => fun h => h

theorem eq_refl_prop :
  forall (P : Prop), forall (p : P), @Eq.{0} P p p :=
  fun P => fun p => @Eq.refl.{0} P p

theorem eq_refl_apply_twice.{u} :
  forall (A : Sort u), forall (f : forall (x : A), A), forall (x : A), @Eq.{u} A (f (f x)) (f (f x)) :=
  fun A => fun f => fun x => @Eq.refl.{u} A (f (f x))

theorem eq_refl_higher_apply.{u,v,w} :
  forall (A : Sort u), forall (B : Sort v), forall (C : Sort w), forall (h : forall (f : forall (x : A), B), C), forall (f : forall (x : A), B), @Eq.{w} C (h f) (h f) :=
  fun A => fun B => fun C => fun h => fun f => @Eq.refl.{w} C (h f)

theorem eq_refl_nested_compose.{u,v,w,z} :
  forall (A : Sort u), forall (B : Sort v), forall (C : Sort w), forall (D : Sort z), forall (f : forall (x : C), D), forall (g : forall (x : B), C), forall (h : forall (x : A), B), forall (x : A), @Eq.{z} D (f (g (h x))) (f (g (h x))) :=
  fun A => fun B => fun C => fun D => fun f => fun g => fun h => fun x => @Eq.refl.{z} D (f (g (h x)))

theorem eq_refl_prop_apply :
  forall (P : Prop), forall (Q : Prop), forall (h : forall (p : P), Q), forall (p : P), @Eq.{0} Q (h p) (h p) :=
  fun P => fun Q => fun h => fun p => @Eq.refl.{0} Q (h p)

theorem eq_local_passthrough.{u} :
  forall (A : Sort u), forall (x : A), forall (h : @Eq.{u} A x x), @Eq.{u} A x x :=
  fun A => fun x => fun h => h

theorem eq_refl_nat_function :
  forall (f : forall (n : Nat), Nat), forall (n : Nat), @Eq.{1} Nat (f n) (f n) :=
  fun f => fun n => @Eq.refl.{1} Nat (f n)