You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
lean4game/server/adam/Adam/Doc/Definitions.lean

125 lines
3.0 KiB
Plaintext

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

import GameServer.Commands
/-! ## Definitions -/
DefinitionDoc Even as "Even"
"
`even n` ist definiert als `∃ r, a = 2 * r`.
Die Definition kann man mit `unfold even at *` einsetzen.
## Eigenschaften
* Mathlib Doc: [#Even](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Parity.html#Even)"
DefinitionDoc Odd as "Odd"
"
`odd n` ist definiert als `∃ r, a = 2 * r + 1`.
Die Definition kann man mit `unfold odd at *` einsetzen.
* Mathlib Doc: [Odd](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Algebra/Parity.html#Odd)"
DefinitionDoc Injective as "Injective"
"
`Injective f` ist definiert als
```
∀ a b, f a = f b → a = b
```
definiert.
* Mathlib Doc: [Injective](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Init/Function.html#Function.Injective)"
DefinitionDoc Surjective as "Surjective"
"
`Surjective f` ist definiert als
```
∀ a, (∃ b, f a = b)
```
* Mathlib Doc: [Surjective](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Init/Function.html#Function.Surjective)"
DefinitionDoc Bijective as "Bijective"
"
## Eigenschaften
* Mathlib Doc: [#Bijective](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Init/Function.html#Function.Bijective)
"
DefinitionDoc LeftInverse as "LeftInverse"
"
## Eigenschaften
* Mathlib Doc: [#LeftInverse](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Init/Function.html#Function.LeftInverse)
"
DefinitionDoc RightInverse as "RightInverse"
"
## Eigenschaften
* Mathlib Doc: [#RightInverse](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Init/Logic.html#RightInverse)
"
DefinitionDoc StrictMono as "StrictMono"
"
`StrictMono f` ist definiert als
```
∀ a b, a < b → f a < f b
```
## Eigenschaften
* Mathlib Doc: [#StrictMono](https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/Monotone/Basic.html#StrictMono)
"
DefinitionDoc Disjoint as "Disjoint"
"
"
DefinitionDoc Set.preimage as "preimage"
"
"
DefinitionDoc Set.Nonempty as "Nonempty" "
`A.Nonemty` ist als `∃ x, x ∈ A` definiert.
"
DefinitionDoc Symbol.Subset as "⊆" "
Auf Mengen (`Set`) ist `A ⊆ B` als `∀x, x ∈ A → x ∈ B` implementiert.
Im goal kann man direkt `intro x hx` machen, in einer Annahme, kann man mit `rcases`
loslegen.
Alternativ kann man mit `rw[Set.subset_def]` die Definition explizit einsetzen.
"
DefinitionDoc Symbol.function as "fun x => _" "
Anonyme funktionen kann man mit `fun (x : ) => 2 * x` definieren und
wie andere Objekte verwenden.
Note: `=>` wird in mathlib oft auch `↦` (`\\maps`) geschrieben.
"
DefinitionDoc Inhabited as "Inhabited" "
`Inhabited U` ist eine Instanz, die aussagt, dass `U` mindestens ein Element
enthält.
Hat man eine solche Instanz, kann man immer das Element `(default : U)` verwenden.
Was `default` genau ist hängt davon ab, wie `Inhabited U` bewiesen wurde. Es könnte
also alles sein und man sollte sich nicht darauf verlassen, dass `default` eine
bestimmte Eigenschaft hat. Z.B. ist `(default : ) = 0` aber es hätte genau so gut
als `1` oder `2` definiert werden können.
"