We reason about a translation between syntax with de Bruijn indices and locally nameless variables. This consists of a function which, given a locally closed term t, outputs a term of the same shape whose leaves are de Bruijn indices and a "key": some arbitrary permutation of the names of free variables in t. Another function accepts a key and a de Bruijn term and computes a locally nameless term of the same shape. The two functions are shown to be inverses.
Table of Contents :depth: 2
Since we are using the Kleisli typeclass hierarchy, we import modules under the namespaces Classes.Kleisli and Theory.Kleisli.
From Tealeaves Require Export Backends.LN Backends.DB.DB Backends.Adapters.Key Functors.Option. Import LN.Notations. Import DecoratedTraversableMonad.UsefulInstances. From Coq Require Import Logic.Decidable. #[local] Generalizable Variables W T U. #[local] Open Scope nat_scope.
Definition toDB_loc (k: key) '(depth, l) : option nat := match l with | Bd n => if Nat.ltb n depth then Some n else None | Fr x => map (fun ix => ix + depth) (getIndex k x) end. Fixpoint LNtokey_list (l: list LN): key := match l with | [] => nil | (Bd n :: rest) => LNtokey_list rest | (Fr x :: rest) => key_insert_atom (LNtokey_list rest) x end.forall (k : key) (d : nat) (l : LN), toDB_loc k (d, l) = None <-> (exists x : atom, l = Fr x /\ ~ x ∈ k) \/ (exists n : nat, l = Bd n /\ n >= d)forall (k : key) (d : nat) (l : LN), toDB_loc k (d, l) = None <-> (exists x : atom, l = Fr x /\ ~ x ∈ k) \/ (exists n : nat, l = Bd n /\ n >= d)k: key
d: nat
l: LNtoDB_loc k (d, l) = None <-> (exists x : atom, l = Fr x /\ ~ x ∈ k) \/ (exists n : nat, l = Bd n /\ n >= d)k: key
d: nat
l: LNmatch l with | Fr x => map (fun ix : nat => ix + d) (getIndex k x) | Bd n => if Nat.ltb n d then Some n else None end = None <-> (exists x : atom, l = Fr x /\ ~ x ∈ k) \/ (exists n : nat, l = Bd n /\ n >= d)k: key
d: nat
x: atommap (fun ix : nat => ix + d) (getIndex k x) = None <-> (exists x0 : atom, Fr x = Fr x0 /\ ~ x0 ∈ k) \/ (exists n : nat, Fr x = Bd n /\ n >= d)k: key
d, n: nat(if Nat.ltb n d then Some n else None) = None <-> (exists x : atom, Bd n = Fr x /\ ~ x ∈ k) \/ (exists n0 : nat, Bd n = Bd n0 /\ n0 >= d)k: key
d: nat
x: atommap (fun ix : nat => ix + d) (getIndex k x) = None <-> (exists x0 : atom, Fr x = Fr x0 /\ ~ x0 ∈ k) \/ (exists n : nat, Fr x = Bd n /\ n >= d)k: key
d: nat
x: atomgetIndex k x = None <-> (exists x0 : atom, Fr x = Fr x0 /\ ~ x0 ∈ k) \/ (exists n : nat, Fr x = Bd n /\ n >= d)k: key
d: nat
x: atomgetIndex k x = None <-> (exists x0 : atom, Fr x = Fr x0 /\ getIndex k x0 = None) \/ (exists n : nat, Fr x = Bd n /\ n >= d)k: key
d: nat
x, x0: atom
H: Fr x = Fr x0
H0: getIndex k x0 = NonegetIndex k x = Nonek: key
d: nat
x: atom
x0: nat
H: Fr x = Bd x0
H0: x0 >= dgetIndex k x = Nonenow inversion H.k: key
d: nat
x: atom
x0: nat
H: Fr x = Bd x0
H0: x0 >= dgetIndex k x = Nonek: key
d, n: nat(if Nat.ltb n d then Some n else None) = None <-> (exists x : atom, Bd n = Fr x /\ ~ x ∈ k) \/ (exists n0 : nat, Bd n = Bd n0 /\ n0 >= d)k: key
d, n: nat
contra: (if Nat.ltb n d then Some n else None) = None(exists x : atom, Bd n = Fr x /\ ~ x ∈ k) \/ (exists n0 : nat, Bd n = Bd n0 /\ n0 >= d)k: key
d, n: nat
contra: (exists x : atom, Bd n = Fr x /\ ~ x ∈ k) \/ (exists n0 : nat, Bd n = Bd n0 /\ n0 >= d)(if Nat.ltb n d then Some n else None) = Nonek: key
d, n: nat
contra: (if Nat.ltb n d then Some n else None) = None(exists x : atom, Bd n = Fr x /\ ~ x ∈ k) \/ (exists n0 : nat, Bd n = Bd n0 /\ n0 >= d)k: key
d, n: nat
contra: (if Nat.ltb n d then Some n else None) = NoneNat.ltb n d = falsek: key
d, n: nat
contra: (if Nat.ltb n d then Some n else None) = None
H: Nat.ltb n d = false(exists x : atom, Bd n = Fr x /\ ~ x ∈ k) \/ (exists n0 : nat, Bd n = Bd n0 /\ n0 >= d)now destruct (Nat.ltb n d).k: key
d, n: nat
contra: (if Nat.ltb n d then Some n else None) = NoneNat.ltb n d = falsek: key
d, n: nat
contra: (if Nat.ltb n d then Some n else None) = None
H: Nat.ltb n d = false(exists x : atom, Bd n = Fr x /\ ~ x ∈ k) \/ (exists n0 : nat, Bd n = Bd n0 /\ n0 >= d)k: key
d, n: nat
contra: (if Nat.ltb n d then Some n else None) = None
H: d <= n(exists x : atom, Bd n = Fr x /\ ~ x ∈ k) \/ (exists n0 : nat, Bd n = Bd n0 /\ n0 >= d)k: key
d, n: nat
contra: (if Nat.ltb n d then Some n else None) = None
H: d <= nexists n0 : nat, Bd n = Bd n0 /\ n0 >= dauto.k: key
d, n: nat
contra: (if Nat.ltb n d then Some n else None) = None
H: d <= nBd n = Bd n /\ n >= dk: key
d, n: nat
contra: (exists x : atom, Bd n = Fr x /\ ~ x ∈ k) \/ (exists n0 : nat, Bd n = Bd n0 /\ n0 >= d)(if Nat.ltb n d then Some n else None) = Nonek: key
d, n: nat
x: atom
contra: Bd n = Fr x
rest: ~ x ∈ k(if Nat.ltb n d then Some n else None) = Nonek: key
d, n, n': nat
Heq: Bd n = Bd n'
contra: n' >= d(if Nat.ltb n d then Some n else None) = Nonefalse.k: key
d, n: nat
x: atom
contra: Bd n = Fr x
rest: ~ x ∈ k(if Nat.ltb n d then Some n else None) = Nonek: key
d, n, n': nat
Heq: Bd n = Bd n'
contra: n' >= d(if Nat.ltb n d then Some n else None) = Nonek: key
d, n': nat
Heq: Bd n' = Bd n'
contra: n' >= d(if Nat.ltb n' d then Some n' else None) = Nonek: key
d, n': nat
Heq: Bd n' = Bd n'
contra: PeanoNat.Nat.ltb n' d = false(if Nat.ltb n' d then Some n' else None) = Nonereflexivity. Qed.k: key
d, n': nat
Heq: Bd n' = Bd n'
contra: PeanoNat.Nat.ltb n' d = falseNone = None
k: key
depth, n: natn < depth -> toDB_loc k (depth, Bd n) = Some nk: key
depth, n: natn < depth -> toDB_loc k (depth, Bd n) = Some nk: key
depth, n: nat
H: n < depthtoDB_loc k (depth, Bd n) = Some nk: key
depth, n: nat
H: n < depth(if match depth with | 0 => false | S m' => Nat.leb n m' end then Some n else None) = Some nk: key
n: nat
H: n < 0None = Some nk: key
depth, n: nat
H: n < S depth(if Nat.leb n depth then Some n else None) = Some nk: key
n: nat
H: n < 0None = Some nlia.k: key
n: nat
H: n < 0Falsek: key
depth, n: nat
H: n < S depth(if Nat.leb n depth then Some n else None) = Some nk: key
depth, n: nat
H: PeanoNat.Nat.leb (S n) (S depth) = true(if Nat.leb n depth then Some n else None) = Some nk: key
depth, n: nat
H: PeanoNat.Nat.leb n depth = true(if Nat.leb n depth then Some n else None) = Some nreflexivity. Qed.k: key
depth, n: nat
H: PeanoNat.Nat.leb n depth = trueSome n = Some nk: key
depth: nat
x: atomtoDB_loc k (depth, Fr x) = map (fun ix : nat => ix + depth) (getIndex k x)reflexivity. Qed.k: key
depth: nat
x: atomtoDB_loc k (depth, Fr x) = map (fun ix : nat => ix + depth) (getIndex k x)
forall l : list LN, unique (LNtokey_list l)forall l : list LN, unique (LNtokey_list l)l: list LNunique (LNtokey_list l)unique (LNtokey_list [])x: atom
rest: list LN
IHrest: unique (LNtokey_list rest)unique (LNtokey_list (Fr x :: rest))n: nat
rest: list LN
IHrest: unique (LNtokey_list rest)unique (LNtokey_list (Bd n :: rest))exact I.unique (LNtokey_list [])now apply key_insert_unique.x: atom
rest: list LN
IHrest: unique (LNtokey_list rest)unique (LNtokey_list (Fr x :: rest))n: nat
rest: list LN
IHrest: unique (LNtokey_list rest)unique (LNtokey_list (Bd n :: rest))assumption. Qed.n: nat
rest: list LN
IHrest: unique (LNtokey_list rest)unique (LNtokey_list rest)forall (l : list LN) (ix : nat) (a : atom), getName (LNtokey_list l) ix = Some a <-> getIndex (LNtokey_list l) a = Some ixforall (l : list LN) (ix : nat) (a : atom), getName (LNtokey_list l) ix = Some a <-> getIndex (LNtokey_list l) a = Some ixl: list LN
ix: nat
a: atomgetName (LNtokey_list l) ix = Some a <-> getIndex (LNtokey_list l) a = Some ixapply LNtokey_unique. Qed.l: list LN
ix: nat
a: atomunique (LNtokey_list l)
Definition toDB `{Mapdt_inst: Mapdt nat T} (k: key): T LN -> option (T nat) := mapdt (G := option) (toDB_loc k). Definition LNtokey `{Traverse_inst: Traverse T} (t: T LN): key := LNtokey_list (tolist t). Definition toDB_default_key `{Traverse_inst: Traverse T} `{Mapdt_inst: Mapdt nat T} (t: T LN): option (T nat) := toDB (LNtokey t) t.
Section theory. Context `{Return_T: Return T} `{Map_T: Map T} `{Bind_TT: Bind T T} `{Traverse_T: Traverse T} `{Mapd_T: Mapd nat T} `{Bindt_TT: Bindt T T} `{Bindd_T: Bindd nat T} `{Mapdt_T: Mapdt nat T} `{Binddt_TT: Binddt nat T T} `{! Compat_Map_Binddt nat T T} `{! Compat_Bind_Binddt nat T T} `{! Compat_Traverse_Binddt nat T T} `{! Compat_Mapd_Binddt nat T T} `{! Compat_Bindt_Binddt nat T T} `{! Compat_Bindd_Binddt nat T T} `{! Compat_Mapdt_Binddt nat T T}. Context `{Map_U: Map U} `{Bind_TU: Bind T U} `{Traverse_U: Traverse U} `{Mapd_U: Mapd nat U} `{Bindt_TU: Bindt T U} `{Bindd_TU: Bindd nat T U} `{Mapdt_U: Mapdt nat U} `{Binddt_TU: Binddt nat T U} `{! Compat_Map_Binddt nat T U} `{! Compat_Bind_Binddt nat T U} `{! Compat_Traverse_Binddt nat T U} `{! Compat_Mapd_Binddt nat T U} `{! Compat_Bindt_Binddt nat T U} `{! Compat_Bindd_Binddt nat T U} `{! Compat_Mapdt_Binddt nat T U}. Context `{Monad_inst: ! DecoratedTraversableMonad nat T} `{Module_inst: ! DecoratedTraversableRightPreModule nat T U (unit := Monoid_unit_zero) (op := Monoid_op_plus)}. Definition scoped_key (k: key) (t: U LN) := forall x: atom, x ∈ free t -> x ∈ k. Definition scoped_key_loc (k: key): LN -> Prop := fun v => match v with | Bd _ => True | Fr x => x ∈ k end.T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
v: LNdecidable (scoped_key_loc k v)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
v: LNdecidable (scoped_key_loc k v)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
v: LNscoped_key_loc k v \/ ~ scoped_key_loc k vT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
v: LNmatch v with | Fr x => x ∈ k | Bd _ => True end \/ ~ match v with | Fr x => x ∈ k | Bd _ => True endT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
x: atomx ∈ k \/ ~ x ∈ kT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
n: natTrue \/ ~ Truedestruct (elt_decidable x k); auto.T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
x: atomx ∈ k \/ ~ x ∈ know left. Qed.T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
n: natTrue \/ ~ TrueT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: keyscoped_key k = Forall (scoped_key_loc k)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: keyscoped_key k = Forall (scoped_key_loc k)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LNscoped_key k t = Forall (scoped_key_loc k) tT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LNscoped_key k t = (forall a : LN, a ∈ t -> scoped_key_loc k a)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LNscoped_key k t = (forall a : LN, a ∈ t -> match a with | Fr x => x ∈ k | Bd _ => True end)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN(forall x : atom, x ∈ free t -> x ∈ k) = (forall a : LN, a ∈ t -> match a with | Fr x => x ∈ k | Bd _ => True end)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN(forall x : atom, x ∈ free t -> x ∈ k) -> forall a : LN, a ∈ t -> match a with | Fr x => x ∈ k | Bd _ => True endT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN(forall a : LN, a ∈ t -> match a with | Fr x => x ∈ k | Bd _ => True end) -> forall x : atom, x ∈ free t -> x ∈ kT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN(forall x : atom, x ∈ free t -> x ∈ k) -> forall a : LN, a ∈ t -> match a with | Fr x => x ∈ k | Bd _ => True endT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
Hyp: forall x : atom, x ∈ free t -> x ∈ k
v: LN
Hvin: v ∈ tmatch v with | Fr x => x ∈ k | Bd _ => True endT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
Hyp: forall x : atom, x ∈ free t -> x ∈ k
x: atom
Hvin: Fr x ∈ tx ∈ kT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
Hyp: forall x : atom, x ∈ free t -> x ∈ k
n: nat
Hvin: Bd n ∈ tTrueT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
Hyp: forall x : atom, x ∈ free t -> x ∈ k
x: atom
Hvin: Fr x ∈ tx ∈ kauto.T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
Hyp: forall x : atom, Fr x ∈ t -> x ∈ k
x: atom
Hvin: Fr x ∈ tx ∈ ktrivial.T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
Hyp: forall x : atom, x ∈ free t -> x ∈ k
n: nat
Hvin: Bd n ∈ tTrueT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN(forall a : LN, a ∈ t -> match a with | Fr x => x ∈ k | Bd _ => True end) -> forall x : atom, x ∈ free t -> x ∈ kT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
Hyp: forall a : LN, a ∈ t -> match a with | Fr x => x ∈ k | Bd _ => True end
x: atom
Hin: x ∈ free tx ∈ kapply (Hyp (Fr x) Hin). Qed.T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
Hyp: forall a : LN, a ∈ t -> match a with | Fr x => x ∈ k | Bd _ => True end
x: atom
Hin: Fr x ∈ tx ∈ kT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T Uforall k : key, decidable_pred (scoped_key k)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T Uforall k : key, decidable_pred (scoped_key k)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: keydecidable_pred (scoped_key k)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: keydecidable_pred (Forall (scoped_key_loc k))T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: keydecidable_pred (scoped_key_loc k)apply decidable_scoped_key_loc. Qed.T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: LNdecidable (scoped_key_loc k t)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
gap: natdecidable_pred (lc_loc gap)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
gap: natdecidable_pred (lc_loc gap)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
gap: natdecidable_pred (fun p : nat * LN => let (w, l) := p in match l with | Fr _ => True | Bd n => n < w + gap end)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
gap: natforall a : nat * LN, decidable (let (w, l) := a in match l with | Fr _ => True | Bd n => n < w + gap end)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
gap, d: nat
v: LNdecidable match v with | Fr _ => True | Bd n => n < d + gap endT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
gap, d: nat
n: atomdecidable TrueT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
gap, d, n: natdecidable (n < d + gap)now left.T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
gap, d: nat
n: atomdecidable TrueT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
gap, d, n: natdecidable (n < d + gap)compare naturals n and d. Qed.T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
gap, d, n: natn < d + gap \/ ~ n < d + gapT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T Udecidable_pred LCT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T Udecidable_pred LCT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T Udecidable_pred (LCn 0)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T Udecidable_pred (Forall_ctx (lc_loc 0))apply LCloc_decidable. Qed.T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T Udecidable_pred (lc_loc 0)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T Uforall (k : key) (t : U LN), toDB k t = None <-> (exists a : atom, a ∈ free t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T Uforall (k : key) (t : U LN), toDB k t = None <-> (exists a : atom, a ∈ free t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LNtoDB k t = None <-> (exists a : atom, a ∈ free t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LNmapdt (toDB_loc k) t = None <-> (exists a : atom, a ∈ free t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN(exists (e : nat) (a : LN), (e, a) ∈d t /\ toDB_loc k (e, a) = None) <-> (exists a : atom, a ∈ free t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN(exists (e : nat) (a : LN), (e, a) ∈d t /\ toDB_loc k (e, a) = None) <-> (exists a : atom, Fr a ∈ t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN(exists (e : nat) (a : LN), (e, a) ∈d t /\ ((exists x : atom, a = Fr x /\ ~ x ∈ k) \/ (exists n : nat, a = Bd n /\ n >= e))) <-> (exists a : atom, Fr a ∈ t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN(exists (e : nat) (a : LN), (e, a) ∈d t /\ ((exists x : atom, a = Fr x /\ ~ x ∈ k) \/ (exists n : nat, a = Bd n /\ n >= e))) -> (exists a : atom, Fr a ∈ t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN(exists a : atom, Fr a ∈ t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth) -> exists (e : nat) (a : LN), (e, a) ∈d t /\ ((exists x : atom, a = Fr x /\ ~ x ∈ k) \/ (exists n : nat, a = Bd n /\ n >= e))T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN(exists (e : nat) (a : LN), (e, a) ∈d t /\ ((exists x : atom, a = Fr x /\ ~ x ∈ k) \/ (exists n : nat, a = Bd n /\ n >= e))) -> (exists a : atom, Fr a ∈ t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
e: nat
a: LN
Hint: (e, a) ∈d t
rest: (exists x : atom, a = Fr x /\ ~ x ∈ k) \/ (exists n : nat, a = Bd n /\ n >= e)(exists a : atom, Fr a ∈ t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
e: nat
a: LN
Hint: (e, a) ∈d t
x: atom
HeqX: a = Fr x
xNotIn: ~ x ∈ k(exists a : atom, Fr a ∈ t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
e: nat
a: LN
Hint: (e, a) ∈d t
n: nat
Heq: a = Bd n
Hgeq: n >= e(exists a : atom, Fr a ∈ t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
e: nat
a: LN
Hint: (e, a) ∈d t
x: atom
HeqX: a = Fr x
xNotIn: ~ x ∈ k(exists a : atom, Fr a ∈ t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
e: nat
a: LN
Hint: (e, a) ∈d t
x: atom
HeqX: a = Fr x
xNotIn: ~ x ∈ kexists a : atom, Fr a ∈ t /\ ~ a ∈ kT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
e: nat
a: LN
Hint: (e, a) ∈d t
x: atom
HeqX: a = Fr x
xNotIn: ~ x ∈ kFr x ∈ t /\ ~ x ∈ kT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
e: nat
x: atom
Hint: (e, Fr x) ∈d t
xNotIn: ~ x ∈ kFr x ∈ t /\ ~ x ∈ kT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
e: nat
x: atom
Hint: (e, Fr x) ∈d t
xNotIn: ~ x ∈ kFr x ∈ tassumption.T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
e: nat
x: atom
Hint: Fr x ∈ t
xNotIn: ~ x ∈ kFr x ∈ tT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
e: nat
a: LN
Hint: (e, a) ∈d t
n: nat
Heq: a = Bd n
Hgeq: n >= e(exists a : atom, Fr a ∈ t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
e: nat
a: LN
Hint: (e, a) ∈d t
n: nat
Heq: a = Bd n
Hgeq: n >= eexists depth n : nat, (depth, Bd n) ∈d t /\ n >= depthnow subst.T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
e: nat
a: LN
Hint: (e, a) ∈d t
n: nat
Heq: a = Bd n
Hgeq: n >= e(e, Bd n) ∈d t /\ n >= eT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN(exists a : atom, Fr a ∈ t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth) -> exists (e : nat) (a : LN), (e, a) ∈d t /\ ((exists x : atom, a = Fr x /\ ~ x ∈ k) \/ (exists n : nat, a = Bd n /\ n >= e))T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
e: atom
Hin: Fr e ∈ t
Hnotin: ~ e ∈ kexists (e : nat) (a : LN), (e, a) ∈d t /\ ((exists x : atom, a = Fr x /\ ~ x ∈ k) \/ (exists n : nat, a = Bd n /\ n >= e))T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
depth, n: nat
Hin: (depth, Bd n) ∈d t
Heq: n >= depthexists (e : nat) (a : LN), (e, a) ∈d t /\ ((exists x : atom, a = Fr x /\ ~ x ∈ k) \/ (exists n : nat, a = Bd n /\ n >= e))T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
e: atom
Hin: Fr e ∈ t
Hnotin: ~ e ∈ kexists (e : nat) (a : LN), (e, a) ∈d t /\ ((exists x : atom, a = Fr x /\ ~ x ∈ k) \/ (exists n : nat, a = Bd n /\ n >= e))T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
e: atom
Hin: exists e0 : nat, (e0, Fr e) ∈d t
Hnotin: ~ e ∈ kexists (e : nat) (a : LN), (e, a) ∈d t /\ ((exists x : atom, a = Fr x /\ ~ x ∈ k) \/ (exists n : nat, a = Bd n /\ n >= e))T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
e: atom
d: nat
Hind: (d, Fr e) ∈d t
Hnotin: ~ e ∈ kexists (e : nat) (a : LN), (e, a) ∈d t /\ ((exists x : atom, a = Fr x /\ ~ x ∈ k) \/ (exists n : nat, a = Bd n /\ n >= e))T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
e: atom
d: nat
Hind: (d, Fr e) ∈d t
Hnotin: ~ e ∈ kexists a : LN, (d, a) ∈d t /\ ((exists x : atom, a = Fr x /\ ~ x ∈ k) \/ (exists n : nat, a = Bd n /\ n >= d))split; eauto.T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
e: atom
d: nat
Hind: (d, Fr e) ∈d t
Hnotin: ~ e ∈ k(d, Fr e) ∈d t /\ ((exists x : atom, Fr e = Fr x /\ ~ x ∈ k) \/ (exists n : nat, Fr e = Bd n /\ n >= d))T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
depth, n: nat
Hin: (depth, Bd n) ∈d t
Heq: n >= depthexists (e : nat) (a : LN), (e, a) ∈d t /\ ((exists x : atom, a = Fr x /\ ~ x ∈ k) \/ (exists n : nat, a = Bd n /\ n >= e))T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
depth, n: nat
Hin: (depth, Bd n) ∈d t
Heq: n >= depth(depth, Bd n) ∈d t /\ ((exists x : atom, Bd n = Fr x /\ ~ x ∈ k) \/ (exists n0 : nat, Bd n = Bd n0 /\ n0 >= depth))T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
depth, n: nat
Hin: (depth, Bd n) ∈d t
Heq: n >= depth(exists x : atom, Bd n = Fr x /\ ~ x ∈ k) \/ (exists n0 : nat, Bd n = Bd n0 /\ n0 >= depth)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
depth, n: nat
Hin: (depth, Bd n) ∈d t
Heq: n >= depthexists n0 : nat, Bd n = Bd n0 /\ n0 >= depthauto. Qed.T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
depth, n: nat
Hin: (depth, Bd n) ∈d t
Heq: n >= depthBd n = Bd n /\ n >= depthT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T Uforall (k : key) (t : U LN), toDB k t = None <-> ~ scoped_key k t \/ ~ LC tT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T Uforall (k : key) (t : U LN), toDB k t = None <-> ~ scoped_key k t \/ ~ LC tT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LNtoDB k t = None <-> ~ scoped_key k t \/ ~ LC tT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN(exists a : atom, a ∈ free t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth) <-> ~ scoped_key k t \/ ~ LC tT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN(exists a : atom, a ∈ free t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth) <-> ~ Forall (scoped_key_loc k) t \/ ~ LC tT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN(exists a : atom, a ∈ free t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth) <-> Forany (not ∘ scoped_key_loc k) t \/ ~ LC tT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LNdecidable_pred (scoped_key_loc k)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LNdecidable_pred (scoped_key_loc k)apply decidable_scoped_key_loc.T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
v: LNdecidable (scoped_key_loc k v)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN(exists a : atom, a ∈ free t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth) <-> Forany (not ∘ scoped_key_loc k) t \/ ~ LC tT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN(exists a : atom, a ∈ free t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth) <-> Forany (not ∘ scoped_key_loc k) t \/ ~ Forall_ctx (lc_loc 0) tT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN(exists a : atom, a ∈ free t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth) <-> Forany (not ∘ scoped_key_loc k) t \/ Forany_ctx (not ∘ lc_loc 0) tT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LNdecidable_pred (lc_loc 0)apply LCloc_decidable.T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LNdecidable_pred (lc_loc 0)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN(exists a : atom, a ∈ free t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth) <-> Forany (not ∘ scoped_key_loc k) t \/ Forany_ctx (not ∘ lc_loc 0) tT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN(exists a : atom, a ∈ free t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth) <-> (exists a : LN, a ∈ t /\ (not ∘ scoped_key_loc k) a) \/ Forany_ctx (not ∘ lc_loc 0) tT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN(exists a : atom, a ∈ free t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth) <-> (exists a : LN, a ∈ t /\ (not ∘ scoped_key_loc k) a) \/ (exists (e : nat) (a : LN), (e, a) ∈d t /\ (not ∘ lc_loc 0) (e, a))T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN(exists a : atom, a ∈ free t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth) -> (exists a : LN, a ∈ t /\ (not ∘ scoped_key_loc k) a) \/ (exists (e : nat) (a : LN), (e, a) ∈d t /\ (not ∘ lc_loc 0) (e, a))T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN(exists a : LN, a ∈ t /\ (not ∘ scoped_key_loc k) a) \/ (exists (e : nat) (a : LN), (e, a) ∈d t /\ (not ∘ lc_loc 0) (e, a)) -> (exists a : atom, a ∈ free t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN(exists a : atom, a ∈ free t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth) -> (exists a : LN, a ∈ t /\ (not ∘ scoped_key_loc k) a) \/ (exists (e : nat) (a : LN), (e, a) ∈d t /\ (not ∘ lc_loc 0) (e, a))T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
x: atom
Hin: x ∈ free t
Hnin: ~ x ∈ k(exists a : LN, a ∈ t /\ (not ∘ scoped_key_loc k) a) \/ (exists (e : nat) (a : LN), (e, a) ∈d t /\ (not ∘ lc_loc 0) (e, a))T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
depth, n: nat
Hin: (depth, Bd n) ∈d t
Hgt: n >= depth(exists a : LN, a ∈ t /\ (not ∘ scoped_key_loc k) a) \/ (exists (e : nat) (a : LN), (e, a) ∈d t /\ (not ∘ lc_loc 0) (e, a))T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
x: atom
Hin: x ∈ free t
Hnin: ~ x ∈ k(exists a : LN, a ∈ t /\ (not ∘ scoped_key_loc k) a) \/ (exists (e : nat) (a : LN), (e, a) ∈d t /\ (not ∘ lc_loc 0) (e, a))T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
x: atom
Hin: x ∈ free t
Hnin: ~ x ∈ kexists a : LN, a ∈ t /\ (not ∘ scoped_key_loc k) aT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
x: atom
Hin: x ∈ free t
Hnin: ~ x ∈ kFr x ∈ t /\ (not ∘ scoped_key_loc k) (Fr x)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
x: atom
Hin: x ∈ free t
Hnin: ~ x ∈ kFr x ∈ tT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
x: atom
Hin: x ∈ free t
Hnin: ~ x ∈ k(not ∘ scoped_key_loc k) (Fr x)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
x: atom
Hin: Fr x ∈ t
Hnin: ~ x ∈ kFr x ∈ tT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
x: atom
Hin: x ∈ free t
Hnin: ~ x ∈ k(not ∘ scoped_key_loc k) (Fr x)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
x: atom
Hin: x ∈ free t
Hnin: ~ x ∈ k(not ∘ scoped_key_loc k) (Fr x)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
x: atom
Hin: x ∈ free t
Hnin: ~ x ∈ k~ scoped_key_loc k (Fr x)assumption.T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
x: atom
Hin: x ∈ free t
Hnin: ~ x ∈ k~ x ∈ kT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
depth, n: nat
Hin: (depth, Bd n) ∈d t
Hgt: n >= depth(exists a : LN, a ∈ t /\ (not ∘ scoped_key_loc k) a) \/ (exists (e : nat) (a : LN), (e, a) ∈d t /\ (not ∘ lc_loc 0) (e, a))T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
depth, n: nat
Hin: (depth, Bd n) ∈d t
Hgt: n >= depthexists (e : nat) (a : LN), (e, a) ∈d t /\ (not ∘ lc_loc 0) (e, a)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
depth, n: nat
Hin: (depth, Bd n) ∈d t
Hgt: n >= depth(depth, Bd n) ∈d t /\ (not ∘ lc_loc 0) (depth, Bd n)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
depth, n: nat
Hin: (depth, Bd n) ∈d t
Hgt: n >= depth(depth, Bd n) ∈d tT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
depth, n: nat
Hin: (depth, Bd n) ∈d t
Hgt: n >= depth(not ∘ lc_loc 0) (depth, Bd n)assumption.T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
depth, n: nat
Hin: (depth, Bd n) ∈d t
Hgt: n >= depth(depth, Bd n) ∈d tT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
depth, n: nat
Hin: (depth, Bd n) ∈d t
Hgt: n >= depth(not ∘ lc_loc 0) (depth, Bd n)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
depth, n: nat
Hin: (depth, Bd n) ∈d t
Hgt: n >= depth~ lc_loc 0 (depth, Bd n)lia.T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
depth, n: nat
Hin: (depth, Bd n) ∈d t
Hgt: n >= depth~ n < depth + 0T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN(exists a : LN, a ∈ t /\ (not ∘ scoped_key_loc k) a) \/ (exists (e : nat) (a : LN), (e, a) ∈d t /\ (not ∘ lc_loc 0) (e, a)) -> (exists a : atom, a ∈ free t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN(exists a : LN, a ∈ t /\ (not ∘ scoped_key_loc k) a) \/ (exists (e : nat) (a : LN), (e, a) ∈d t /\ (not ∘ lc_loc 0) (e, a)) -> (exists a : atom, a ∈ free t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN(exists a : LN, a ∈ t /\ ~ match a with | Fr x => x ∈ k | Bd _ => True end) \/ (exists (e : nat) (a : LN), (e, a) ∈d t /\ ~ lc_loc 0 (e, a)) -> (exists a : atom, a ∈ free t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
x: LN
Hin: x ∈ t
Hnin: ~ match x with | Fr x => x ∈ k | Bd _ => True end(exists a : atom, a ∈ free t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
depth: nat
n: LN
Hin: (depth, n) ∈d t
Hgt: ~ lc_loc 0 (depth, n)(exists a : atom, a ∈ free t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
x: LN
Hin: x ∈ t
Hnin: ~ match x with | Fr x => x ∈ k | Bd _ => True end(exists a : atom, a ∈ free t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
x: atom
Hin: Fr x ∈ t
Hnin: ~ x ∈ k(exists a : atom, a ∈ free t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
n: nat
Hin: Bd n ∈ t
Hnin: ~ True(exists a : atom, a ∈ free t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
x: atom
Hin: Fr x ∈ t
Hnin: ~ x ∈ k(exists a : atom, a ∈ free t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
x: atom
Hin: Fr x ∈ t
Hnin: ~ x ∈ kexists a : atom, a ∈ free t /\ ~ a ∈ kT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
x: atom
Hin: Fr x ∈ t
Hnin: ~ x ∈ kx ∈ free t /\ ~ x ∈ kauto.T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
x: atom
Hin: Fr x ∈ t
Hnin: ~ x ∈ kFr x ∈ t /\ ~ x ∈ kcontradiction.T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
n: nat
Hin: Bd n ∈ t
Hnin: ~ True(exists a : atom, a ∈ free t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
depth: nat
n: LN
Hin: (depth, n) ∈d t
Hgt: ~ lc_loc 0 (depth, n)(exists a : atom, a ∈ free t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
depth: nat
n: LN
Hin: (depth, n) ∈d t
Hgt: ~ match n with | Fr _ => True | Bd n => n < depth + 0 end(exists a : atom, a ∈ free t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
depth: nat
x: atom
Hin: (depth, Fr x) ∈d t
Hgt: ~ True(exists a : atom, a ∈ free t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
depth, n: nat
Hin: (depth, Bd n) ∈d t
Hgt: ~ n < depth + 0(exists a : atom, a ∈ free t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth)contradiction.T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
depth: nat
x: atom
Hin: (depth, Fr x) ∈d t
Hgt: ~ True(exists a : atom, a ∈ free t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
depth, n: nat
Hin: (depth, Bd n) ∈d t
Hgt: ~ n < depth + 0(exists a : atom, a ∈ free t /\ ~ a ∈ k) \/ (exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depth)T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
depth, n: nat
Hin: (depth, Bd n) ∈d t
Hgt: ~ n < depth + 0exists depth n : nat, (depth, Bd n) ∈d t /\ n >= depthT: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
depth, n: nat
Hin: (depth, Bd n) ∈d t
Hgt: ~ n < depth + 0(depth, Bd n) ∈d t /\ n >= depthlia. } Qed. End theory.T: Type -> Type
Return_T: Return T
Map_T: Map T
Bind_TT: Bind T T
Traverse_T: Traverse T
Mapd_T: Mapd nat T
Bindt_TT: Bindt T T
U: Type -> Type
Bindd_T: Bindd nat T U
Mapdt_T: Mapdt nat T
Binddt_TT: Binddt nat T T
Compat_Map_Binddt0: Compat_Map_Binddt nat T T
Compat_Bind_Binddt0: Compat_Bind_Binddt nat T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt nat T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt nat T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt nat T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt nat T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt nat T T
Map_U: Map U
Bind_TU: Bind T U
Traverse_U: Traverse U
Mapd_U: Mapd nat U
Bindt_TU: Bindt T U
Bindd_TU: Bindd nat T U
Mapdt_U: Mapdt nat U
Binddt_TU: Binddt nat T U
Compat_Map_Binddt1: Compat_Map_Binddt nat T U
Compat_Bind_Binddt1: Compat_Bind_Binddt nat T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt nat T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt nat T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt nat T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt nat T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt nat T U
Monad_inst: DecoratedTraversableMonad nat T
Module_inst: DecoratedTraversableRightPreModule nat T U
k: key
t: U LN
depth, n: nat
Hin: (depth, Bd n) ∈d t
Hgt: ~ n < depth + 0n >= depth