mirror of
https://github.com/c-cube/sidekick.git
synced 2025-12-06 11:15:43 -05:00
test: update test with levels
This commit is contained in:
parent
9ea96a6b61
commit
1eeb5a464d
3 changed files with 31 additions and 4 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
type0 : Type
|
type0 : Type
|
||||||
typeof(type0) : Type(1)
|
typeof(type0) : Type.{2}
|
||||||
type tower: [Type;Type(1);Type(2);Type(3);Type(4)]
|
type tower: [Type;Type.{2};Type.{3};Type.{4};Type.{5}]
|
||||||
Bool: [true, false]
|
Bool: [true, false]
|
||||||
a: a, b: b, typeof(a): Bool
|
a: a, b: b, typeof(a): Bool
|
||||||
b2b: (Bool -> Bool)
|
b2b: (Bool -> Bool)
|
||||||
|
|
@ -22,4 +22,7 @@ t2: (= (tau -> (tau -> Bool)) (\x:tau. (\y:tau. (p2 x[1] y[0]))) (= tau))
|
||||||
type: Bool
|
type: Bool
|
||||||
f_vec: vec
|
f_vec: vec
|
||||||
type: (Type -> (nat -> Type))
|
type: (Type -> (nat -> Type))
|
||||||
type of type: Type(1)
|
type of type: Type.{2}
|
||||||
|
f_vec_weird: vec?
|
||||||
|
type: (Pi A:Type.{l1}. (Pi n:Type.{l2 + 1}. Type.{max(l1, l2)}))
|
||||||
|
type of type: Type.{imax(l1, imax(l2 + 1, max(l1, l2))) + 1}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
open Sidekick_core_logic
|
open Sidekick_core_logic
|
||||||
|
|
||||||
let store = Store.create ()
|
let store = Store.create ()
|
||||||
|
let lvl_store = Store.lvl_store store
|
||||||
let type_ = Term.type_ store
|
let type_ = Term.type_ store
|
||||||
let () = Fmt.printf "type0 : %a@." Term.pp_debug type_
|
let () = Fmt.printf "type0 : %a@." Term.pp_debug type_
|
||||||
let () = Fmt.printf "typeof(type0) : %a@." Term.pp_debug (Term.ty type_)
|
let () = Fmt.printf "typeof(type0) : %a@." Term.pp_debug (Term.ty type_)
|
||||||
|
|
@ -110,3 +111,26 @@ let () =
|
||||||
Fmt.printf "@[<v2>f_vec: %a@ type: %a@ type of type: %a@]@." Term.pp_debug
|
Fmt.printf "@[<v2>f_vec: %a@ type: %a@ type of type: %a@]@." Term.pp_debug
|
||||||
f_vec Term.pp_debug (Term.ty f_vec) Term.pp_debug
|
f_vec Term.pp_debug (Term.ty f_vec) Term.pp_debug
|
||||||
(Term.ty @@ Term.ty f_vec)
|
(Term.ty @@ Term.ty f_vec)
|
||||||
|
|
||||||
|
(* now with some universes *)
|
||||||
|
|
||||||
|
let f_vec_weird =
|
||||||
|
let v_A =
|
||||||
|
Var.make "A" @@ Term.type_of_univ store Level.(var lvl_store "l1")
|
||||||
|
in
|
||||||
|
let v_n =
|
||||||
|
Var.make "n"
|
||||||
|
@@ Term.type_of_univ store Level.(succ lvl_store @@ var lvl_store "l2")
|
||||||
|
in
|
||||||
|
Term.const store
|
||||||
|
@@ Str_const.make "vec?"
|
||||||
|
~ty:
|
||||||
|
Term.(
|
||||||
|
pi store v_A @@ pi store v_n
|
||||||
|
@@ Term.type_of_univ store
|
||||||
|
Level.(max lvl_store (var lvl_store "l2") (var lvl_store "l1")))
|
||||||
|
|
||||||
|
let () =
|
||||||
|
Fmt.printf "@[<v2>f_vec_weird: %a@ type: %a@ type of type: %a@]@."
|
||||||
|
Term.pp_debug f_vec_weird Term.pp_debug (Term.ty f_vec_weird) Term.pp_debug
|
||||||
|
(Term.ty @@ Term.ty f_vec_weird)
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
buf containing pa: li0e2:Tyi0ee
|
buf containing pa: li0e2:Ty1:1e
|
||||||
li13e2:Tcd3:tag1:B2:tyi0e1:v4:Boolee
|
li13e2:Tcd3:tag1:B2:tyi0e1:v4:Boolee
|
||||||
li50e2:Tcd3:tag5:c.str2:tyi13e1:v1:aee
|
li50e2:Tcd3:tag5:c.str2:tyi13e1:v1:aee
|
||||||
li89e2:Tpl0:i13ei13eee
|
li89e2:Tpl0:i13ei13eee
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue