blob: 7e0c011f103cac2352ce324a755f76510da4666e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
Require Import Coq.Lists.List.
Require Import Coq.Numbers.BinNums.
Require Import Crypto.Compilers.Syntax.
Require Import Crypto.Compilers.Named.PositiveContext.
Require Import Crypto.Compilers.CountLets.
Section language.
Context {base_type_code : Type}
{op : flat_type base_type_code -> flat_type base_type_code -> Type}.
Definition default_names_forf {var} (dummy : forall t, var t) {t} (e : exprf base_type_code op (var:=var) t) : list positive
:= map BinPos.Pos.of_succ_nat (seq 0 (count_let_bindersf dummy e)).
Definition default_names_for {var} (dummy : forall t, var t) {t} (e : expr base_type_code op (var:=var) t) : list positive
:= map BinPos.Pos.of_succ_nat (seq 0 (count_binders dummy e)).
Definition DefaultNamesFor {t} (e : Expr base_type_code op t) : list positive
:= map BinPos.Pos.of_succ_nat (seq 0 (CountBinders e)).
End language.
|