feat(frontends/lean): rename command Set to SetOption

It is not nice to have Set as a reserved keyword. See example examples/lean/set.lean

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
This commit is contained in:
Leonardo de Moura 2013-12-18 21:18:45 -08:00
parent d7886c4f5f
commit dd72269b13
49 changed files with 111 additions and 111 deletions

View file

@ -30,6 +30,6 @@ Theorem T2 : (h a (h a b)) = (h a (h c e)) :=
Show Environment 2
(* Show implicit arguments *)
Set lean::pp::implicit true
Set pp::width 150
SetOption lean::pp::implicit true
SetOption pp::width 150
Show Environment 2

View file

@ -5,7 +5,7 @@ Theorem simple (p q r : Bool) : (p ⇒ q) ∧ (q ⇒ r) ⇒ p ⇒ r :=
P_q := MP P_pq H_p
in MP P_qr P_q))
Set pp::implicit true
SetOption pp::implicit true
Show Environment 1
Theorem simple2 (a b c : Bool) : (a ⇒ b ⇒ c) ⇒ (a ⇒ b) ⇒ a ⇒ c :=

View file

@ -1,15 +1,15 @@
Definition set (A : Type) : Type := A -> Bool
Definition Set (A : Type) : Type := A -> Bool
Definition element {A : Type} (x : A) (s : set A) := s x
Definition element {A : Type} (x : A) (s : Set A) := s x
Infix 60 ∈ : element
Definition subset {A : Type} (s1 : set A) (s2 : set A) := ∀ x, x ∈ s1 ⇒ x ∈ s2
Definition subset {A : Type} (s1 : Set A) (s2 : Set A) := ∀ x, x ∈ s1 ⇒ x ∈ s2
Infix 50 ⊆ : subset
Theorem SubsetProp {A : Type} {s1 s2 : set A} {x : A} (H1 : s1 ⊆ s2) (H2 : x ∈ s1) : x ∈ s2 :=
Theorem SubsetProp {A : Type} {s1 s2 : Set A} {x : A} (H1 : s1 ⊆ s2) (H2 : x ∈ s1) : x ∈ s2 :=
MP (ForallElim H1 x) H2
Theorem SubsetTrans {A : Type} {s1 s2 s3 : set A} (H1 : s1 ⊆ s2) (H2 : s2 ⊆ s3) : s1 ⊆ s3 :=
Theorem SubsetTrans {A : Type} {s1 s2 s3 : Set A} (H1 : s1 ⊆ s2) (H2 : s2 ⊆ s3) : s1 ⊆ s3 :=
ForallIntro (λ x,
Discharge (λ Hin : x ∈ s1,
let L1 : x ∈ s2 := SubsetProp H1 Hin,
@ -23,8 +23,8 @@ Theorem SubsetTrans2 {A : Type} : transitive (subset::explicit A) :=
Discharge (λ H1, (Discharge (λ H2,
SubsetTrans H1 H2)))))).
Theorem SubsetRefl {A : Type} (s : set A) : s ⊆ s :=
Theorem SubsetRefl {A : Type} (s : Set A) : s ⊆ s :=
ForallIntro (λ x, Discharge (λ H : x ∈ s, H))
Definition union {A : Type} (s1 : set A) (s2 : set A) := λ x, x ∈ s1 x ∈ s2
Definition union {A : Type} (s1 : Set A) (s2 : Set A) := λ x, x ∈ s1 x ∈ s2
Infix 55 : union

View file

@ -90,7 +90,7 @@ static name g_infixl_kwd("Infixl");
static name g_infixr_kwd("Infixr");
static name g_notation_kwd("Notation");
static name g_echo_kwd("Echo");
static name g_set_kwd("Set");
static name g_set_kwd("SetOption");
static name g_options_kwd("Options");
static name g_env_kwd("Environment");
static name g_import_kwd("Import");
@ -1958,7 +1958,7 @@ class parser::imp {
regular(m_io_state) << msg << endl;
}
/** Parse 'Set' [id] [value] */
/** Parse 'SetOption' [id] [value] */
void parse_set() {
next();
auto id_pos = pos();
@ -2065,7 +2065,7 @@ class parser::imp {
<< " Push create a scope (it is just an alias for the command Scope)" << endl
<< " Pop discard the current scope" << endl
<< " Scope create a scope" << endl
<< " Set [id] [value] set option [id] with value [value]" << endl
<< " SetOption [id] [value] set option [id] with value [value]" << endl
<< " Show [expr] pretty print the given expression" << endl
<< " Show Options show current the set of assigned options" << endl
<< " Show Environment show objects in the environment, if [Num] provided, then show only the last [Num] objects" << endl

View file

@ -93,11 +93,11 @@ static void tst3() {
parse_error(env, ios, "Check U");
parse(env, ios, "Variable h : Real -> Real -> Real. Notation 10 [ _ ; _ ] : h. Check [ 10.3 ; 20.1 ].");
parse_error(env, ios, "Variable h : Real -> Real -> Real. Notation 10 [ _ ; _ ] : h. Check [ 10.3 | 20.1 ].");
parse_error(env, ios, "Set pp::indent true");
parse(env, ios, "Set pp::indent 10");
parse_error(env, ios, "Set pp::colors foo");
parse_error(env, ios, "Set pp::colors \"foo\"");
parse(env, ios, "Set pp::colors true");
parse_error(env, ios, "SetOption pp::indent true");
parse(env, ios, "SetOption pp::indent 10");
parse_error(env, ios, "SetOption pp::colors foo");
parse_error(env, ios, "SetOption pp::colors \"foo\"");
parse(env, ios, "SetOption pp::colors true");
parse_error(env, ios, "Notation 10 : Int::add");
parse_error(env, ios, "Notation 10 _ : Int::add");
parse(env, ios, "Notation 10 _ ++ _ : Int::add. Eval 10 ++ 20.");

View file

@ -1,5 +1,5 @@
Axiom PlusComm(a b : Int) : a + b == b + a.
Variable a : Int.
Check (Abst (fun x : Int, (PlusComm a x))).
Set pp::implicit true.
SetOption pp::implicit true.
Check (Abst (fun x : Int, (PlusComm a x))).

View file

@ -9,9 +9,9 @@ Variable n : Nat
Variable m : Nat
Show n + m
Show n + x + m
Set lean::pp::coercion true
SetOption lean::pp::coercion true
Show n + x + m + 10
Show x + n + m + 10
Show n + m + 10 + x
Set lean::pp::notation false
SetOption lean::pp::notation false
Show n + m + 10 + x

View file

@ -5,7 +5,7 @@ Variable x : Real
Variable i : Int
Variable n : Nat
Show x + i + 1 + n
Set lean::pp::coercion true
SetOption lean::pp::coercion true
Show x + i + 1 + n
Show x * i + x
Show x - i + x - x >= 0

View file

@ -3,7 +3,7 @@ Eval 8 div 4
Eval 7 div 3
Eval 7 mod 3
Show -8 mod 3
Set lean::pp::notation false
SetOption lean::pp::notation false
Show -8 mod 3
Eval -8 mod 3
Eval (-8 div 3)*3 + (-8 mod 3)

View file

@ -1,4 +1,4 @@
Set pp::unicode false
SetOption pp::unicode false
Show 3 | 6
Eval 3 | 6
Eval 3 | 7
@ -8,5 +8,5 @@ Variable x : Int
Eval x | 3
Eval 3 | x
Eval 6 | 3
Set pp::notation false
SetOption pp::notation false
Show 3 | x

View file

@ -11,6 +11,6 @@ Eval |x + 1| > 0
Variable y : Int
Eval |x + y|
Show |x + y| > x
Set pp::notation false
SetOption pp::notation false
Show |x + y| > x
Show |x + y| + |y + x| > x

View file

@ -7,6 +7,6 @@ Definition n3 : list Int := cons 10 nil
Definition n4 : list Int := nil
Definition n5 : _ := cons 10 nil
Set pp::coercion true
Set pp::implicit true
SetOption pp::coercion true
SetOption pp::implicit true
Show Environment 1.

View file

@ -6,6 +6,6 @@ Axiom H : (A -> B) = (A' -> B')
Variable a : A
Check DomInj H
Theorem BeqB' : B = B' := RanInj H a
Set pp::implicit true
SetOption pp::implicit true
Show DomInj H
Show RanInj H a

View file

@ -8,25 +8,25 @@ Show g a a
Variable b : R
Show g a b
Show g b a
Set lean::pp::coercion true
SetOption lean::pp::coercion true
Show g a a
Show g a b
Show g b a
Set lean::pp::coercion false
SetOption lean::pp::coercion false
Variable S : Type
Variable s : S
Variable r : S
Variable h : S -> S -> S
Infixl 10 ++ : g
Infixl 10 ++ : h
Set lean::pp::notation false
SetOption lean::pp::notation false
Show a ++ b ++ a
Show r ++ s ++ r
Check a ++ b ++ a
Check r ++ s ++ r
Set lean::pp::coercion true
SetOption lean::pp::coercion true
Show a ++ b ++ a
Show r ++ s ++ r
Set lean::pp::notation true
SetOption lean::pp::notation true
Show a ++ b ++ a
Show r ++ s ++ r

View file

@ -1,3 +1,3 @@
(* Set default configuration for tests *)
Set pp::colors false
Set pp::unicode true
(* SetOption default configuration for tests *)
SetOption pp::colors false
SetOption pp::unicode true

View file

@ -8,5 +8,5 @@ Variable R {A A' : Type} {B : A -> Type} {B' : A' -> Type} (H : (Pi x : A, B x)
Theorem R2 : Pi (A1 A2 B1 B2 : Type) (H : (A1 -> B1) = (A2 -> B2)) (a : A1), B1 = B2 :=
fun A1 A2 B1 B2 H a, R H a
Set pp::implicit true
SetOption pp::implicit true
Show Environment 7.

View file

@ -8,5 +8,5 @@ Variable R {A A' : Type} {B : A -> Type} {B' : A' -> Type} (H : (Pi x : A, B x)
Theorem R2 : Pi (A1 A2 B1 B2 : Type), ((A1 -> B1) = (A2 -> B2)) -> A1 -> (B1 = B2) :=
fun A1 A2 B1 B2 H a, R H a
Set pp::implicit true
SetOption pp::implicit true
Show Environment 7.

View file

@ -19,5 +19,5 @@ Theorem T2 : (fun (x1 : A) (x2 : B), F1 x1 x2) = F2 := Abst (fun a, (Abst (fun b
Theorem T3 : F1 = (fun (x1 : A) (x2 : B), F2 x1 x2) := Abst (fun a, (Abst (fun b, H a b)))
Theorem T4 : (fun (x1 : A) (x2 : B), F1 x1 x2) = (fun (x1 : A) (x2 : B), F2 x1 x2) := Abst (fun a, (Abst (fun b, H a b)))
Show Environment 4
Set pp::implicit true
SetOption pp::implicit true
Show Environment 4

View file

@ -1,5 +1,5 @@
Variable i : Int
Check i = 0
Set pp::coercion true
SetOption pp::coercion true
Check i = 0

View file

@ -3,5 +3,5 @@ Variable nil {A : Type} : List A
Variable cons {A : Type} (head : A) (tail : List A) : List A
Variable l : List Int.
Check l = nil.
Set pp::implicit true
SetOption pp::implicit true
Check l = nil.

View file

@ -8,5 +8,5 @@ Variable v3 : Vector (0 + n)
Axiom H1 : v1 == v2
Axiom H2 : v2 == v3
Check TransExt H1 H2
Set pp::implicit true
SetOption pp::implicit true
Check TransExt H1 H2

View file

@ -1,9 +1,9 @@
(* comment *)
(* (* nested comment *) *)
Show true
Set lean::pp::notation false
SetOption lean::pp::notation false
Show true && false
Set pp::unicode false
SetOption pp::unicode false
Show true && false
Variable a : Bool
Variable a : Bool
@ -13,7 +13,7 @@ Variable A : Type
Check a && A
Show Environment 1
Show Options
Set lean::p::notation true
Set lean::pp::notation 10
Set lean::pp::notation true
SetOption lean::p::notation true
SetOption lean::pp::notation 10
SetOption lean::pp::notation true
Show a && b

View file

@ -19,7 +19,7 @@ Arguments types:
A : Type
Variable A : Type
(lean::pp::notation := false, pp::unicode := false, pp::colors := false)
Error (line: 16, pos: 4) unknown option 'lean::p::notation', type 'Help Options.' for list of available options
Error (line: 17, pos: 23) invalid option value, given option is not an integer
Error (line: 16, pos: 10) unknown option 'lean::p::notation', type 'Help Options.' for list of available options
Error (line: 17, pos: 29) invalid option value, given option is not an integer
Set: lean::pp::notation
a /\ b

View file

@ -5,5 +5,5 @@ Variable a : T
Check myeq _ true a
Variable myeq2 {A:Type} (a b : A) : Bool
Infix 50 === : myeq2
Set lean::pp::implicit true
SetOption lean::pp::implicit true
Check true === a

View file

@ -4,7 +4,7 @@ Show forall a b, f a b > 0
Variable g : Int -> Real -> Int
Show forall a b, g a b > 0
Show forall a b, g a (f a b) > 0
Set pp::coercion true
SetOption pp::coercion true
Show forall a b, g a (f a b) > 0
Show fun a, a + 1
Show fun a b, a + b

View file

@ -7,6 +7,6 @@ Check g 10 20 true
Check let r : Real -> Real -> Real := g 10 20
in r
Check g 10
Set pp::implicit true
SetOption pp::implicit true
Check let r : Real -> Real -> Real := g 10 20
in r

View file

@ -3,7 +3,7 @@ Variable f : Int -> Int -> Int
Variable g : Int -> Int -> Int -> Int
Notation 10 _ ++ _ : f
Notation 10 _ ++ _ : g
Set pp::implicit true
Set pp::notation false
SetOption pp::implicit true
SetOption pp::notation false
Show (10 ++ 20)
Show (10 ++ 20) 10

View file

@ -3,8 +3,8 @@ Infixl 65 + : f
Show true + false
Show 10 + 20
Show 10 + (- 20)
Set pp::notation false
Set pp::coercion true
SetOption pp::notation false
SetOption pp::coercion true
Show true + false
Show 10 + 20
Show 10 + (- 20)

View file

@ -10,9 +10,9 @@ Notation 100 _ ; _ ; _ : f
Notation 100 _ ; _ ; _ : g
Check 10 ; true ; false
Check 10 ; 10 ; true
Set pp::notation false
SetOption pp::notation false
Check 10 ; true ; false
Check 10 ; 10 ; true
Set pp::implicit true
SetOption pp::implicit true
Check 10 ; true ; false
Check 10 ; 10 ; true

View file

@ -1,3 +1,3 @@
(* Set default configuration for tests *)
Set pp::colors false
Set pp::unicode true
(* SetOption default configuration for tests *)
SetOption pp::colors false
SetOption pp::unicode true

View file

@ -1,4 +1,4 @@
Set tactic::proof_state::goal_names true.
SetOption tactic::proof_state::goal_names true.
Theorem T (a : Bool) : a => a /\ a.
apply imp_tac.
apply Conj.

View file

@ -5,7 +5,7 @@ Check let a : Nat := 10 in a + 1
Eval let a : Nat := 20 in a + 10
Eval let a := 20 in a + 10
Check let a : Int := 20 in a + 10
Set pp::coercion true
SetOption pp::coercion true
Show let a : Int := 20 in a + 10

View file

@ -1,8 +1,8 @@
Variable magic : Pi (H : Bool), H
Set pp::notation false
Set pp::coercion true
SetOption pp::notation false
SetOption pp::coercion true
Show let a : Int := 1,
H : a > 0 := magic (a > 0)
in H

View file

@ -40,7 +40,7 @@ let a := 10,
v2 : vector Int a := v1
in v2
Set pp::coercion true
SetOption pp::coercion true
Show
let a := 10,

View file

@ -1,5 +1,5 @@
Variable x : Int
Set pp::notation false
SetOption pp::notation false
(**
print(get_options())
**)

View file

@ -4,7 +4,7 @@ Variable g : N -> N -> N
Infixl 10 ++ : f
Infixl 10 ++ : g
Show true ++ false ++ true
Set lean::pp::notation false
SetOption lean::pp::notation false
Show true ++ false ++ true
Variable a : N
Variable b : N

View file

@ -8,8 +8,8 @@ Coercion t2r
Variable f : T -> R -> T
Variable a : T
Variable b : R
Set lean::pp::coercion true
Set lean::pp::notation false
SetOption lean::pp::coercion true
SetOption lean::pp::notation false
Show f a b
Show f b a
Variable g : R -> T -> R

View file

@ -1,3 +1,3 @@
(* Set default configuration for tests *)
Set pp::colors false
Set pp::unicode true
(* SetOption default configuration for tests *)
SetOption pp::colors false
SetOption pp::unicode true

View file

@ -2,6 +2,6 @@ Definition f1 (f : Int -> Int) (x : Int) : Int := f (f (f (f x)))
Definition f2 (f : Int -> Int) (x : Int) : Int := f1 (f1 (f1 (f1 f))) x
Definition f3 (f : Int -> Int) (x : Int) : Int := f1 (f2 (f2 f)) x
Variable f : Int -> Int.
Set pp::width 80.
Set lean::pp::max_depth 2000.
SetOption pp::width 80.
SetOption lean::pp::max_depth 2000.
Eval f3 f 0.

View file

@ -3,7 +3,7 @@ Variable n : Nat
Axiom H1 : a + a + a = 10
Axiom H2 : a = n
Theorem T : a + n + a = 10 := Subst H1 H2
Set pp::coercion true
Set pp::notation false
Set pp::implicit true
SetOption pp::coercion true
SetOption pp::notation false
SetOption pp::implicit true
Show Environment 1.

View file

@ -23,7 +23,7 @@ Theorem VectorPlus0 (A : Type U) (n : Nat) : (Vector A (n + 0)) === (Vector A n)
EqSubst (fun x : Nat, (Vector A x) === (Vector A n))
(EqRefl (Vector A n))
(EqSymm (Plus0 n))
Set pp::implicit true
SetOption pp::implicit true
(* Check fun (A : Type) (n : Nat), VectorPlus0 A n *)
Axiom AppendNil {A : Type} {n : Nat} (v : Vector A n) : (EqCast (VectorPlus0 A n) (append v empty)) === v

View file

@ -2,10 +2,10 @@ Show Options
Variable a : Bool
Variable b : Bool
Show a/\b
Set lean::pp::notation false
SetOption lean::pp::notation false
Show Options
Show a/\b
Show Environment 2
Set lean::pp::notation true
SetOption lean::pp::notation true
Show Options
Show a/\b

View file

@ -1,10 +1,10 @@
Set lean::parser::verbose false.
SetOption lean::parser::verbose false.
Notation 10 if _ then _ : implies.
Show Environment 1.
Show if true then false.
Variable a : Bool.
Show if true then if a then false.
Set lean::pp::notation false.
SetOption lean::pp::notation false.
Show if true then if a then false.
Variable A : Type.
Variable f : A -> A -> A -> Bool.
@ -14,29 +14,29 @@ Variable c : A.
Variable d : A.
Variable e : A.
Show c |- d ; e.
Set lean::pp::notation true.
SetOption lean::pp::notation true.
Show c |- d ; e.
Variable fact : A -> A.
Notation 20 _ ! : fact.
Show c! !.
Set lean::pp::notation false.
SetOption lean::pp::notation false.
Show c! !.
Set lean::pp::notation true.
SetOption lean::pp::notation true.
Variable g : A -> A -> A.
Notation 30 [ _ ; _ ] : g
Show [c;d].
Show [c ; [d;e] ].
Set lean::pp::notation false.
SetOption lean::pp::notation false.
Show [c ; [d;e] ].
Set lean::pp::notation true.
SetOption lean::pp::notation true.
Variable h : A -> A -> A.
Notation 40 _ << _ end : h.
Show Environment 1.
Show d << e end.
Show [c ; d << e end ].
Set lean::pp::notation false.
SetOption lean::pp::notation false.
Show [c ; d << e end ].
Set lean::pp::notation true.
SetOption lean::pp::notation true.
Variable r : A -> A -> A.
Infixl 30 ++ : r.
Variable s : A -> A -> A.
@ -46,13 +46,13 @@ Variable p1 : Bool.
Variable p2 : Bool.
Variable p3 : Bool.
Show p1 || p2 && p3.
Set lean::pp::notation false.
SetOption lean::pp::notation false.
Show c ** d ++ e ** c.
Show p1 || p2 && p3.
Set lean::pp::notation true.
SetOption lean::pp::notation true.
Show c = d || d = c.
Show not p1 || p2.
Show p1 && p3 || p2 && p3.
Set lean::pp::notation false.
SetOption lean::pp::notation false.
Show not p1 || p2.
Show p1 && p3 || p2 && p3.

View file

@ -2,7 +2,7 @@ Variable f {A : Type} (a b : A) : A
Variable N : Type
Variable n1 : N
Variable n2 : N
Set lean::pp::implicit true
SetOption lean::pp::implicit true
Show f n1 n2
Show f (fun x : N -> N, x) (fun y : _, y)
Variable EqNice {A : Type} (lhs rhs : A) : Bool

View file

@ -3,7 +3,7 @@ Variable a : N
Variable b : N
Show a = b
Check a = b
Set lean::pp::implicit true
SetOption lean::pp::implicit true
Show a = b
Show (Type 1) = (Type 1)
Show true = false

View file

@ -5,11 +5,11 @@ Theorem CongrH {a1 a2 b1 b2 : N} (H1 : a1 = b1) (H2 : a2 = b2) : (h a1 a2) = (h
Congr (Congr (Refl h) H1) H2
(* Display the theorem showing implicit arguments *)
Set lean::pp::implicit true
SetOption lean::pp::implicit true
Show Environment 2
(* Display the theorem hiding implicit arguments *)
Set lean::pp::implicit false
SetOption lean::pp::implicit false
Show Environment 2
Theorem Example1 (a b c d : N) (H: (a = b ∧ b = c) (a = d ∧ d = c)) : (h a b) = (h c b) :=
@ -20,7 +20,7 @@ Theorem Example1 (a b c d : N) (H: (a = b ∧ b = c) (a = d ∧ d = c)) : (h
CongrH (Trans (Conjunct1 H1) (Conjunct2 H1)) (Refl b))
(* Show proof of the last theorem with all implicit arguments *)
Set lean::pp::implicit true
SetOption lean::pp::implicit true
Show Environment 1
(* Using placeholders to hide the type of H1 *)
@ -31,7 +31,7 @@ Theorem Example2 (a b c d : N) (H: (a = b ∧ b = c) (a = d ∧ d = c)) : (h
(fun H1 : _,
CongrH (Trans (Conjunct1 H1) (Conjunct2 H1)) (Refl b))
Set lean::pp::implicit true
SetOption lean::pp::implicit true
Show Environment 1
(* Same example but the first conjuct has unnecessary stuff *)
@ -42,7 +42,7 @@ Theorem Example3 (a b c d e : N) (H: (a = b ∧ b = e ∧ b = c) (a = d ∧
(fun H1 : _,
CongrH (Trans (Conjunct1 H1) (Conjunct2 H1)) (Refl b))
Set lean::pp::implicit false
SetOption lean::pp::implicit false
Show Environment 1
Theorem Example4 (a b c d e : N) (H: (a = b ∧ b = e ∧ b = c) (a = d ∧ d = c)) : (h a c) = (h c a) :=
@ -54,5 +54,5 @@ Theorem Example4 (a b c d e : N) (H: (a = b ∧ b = e ∧ b = c) (a = d ∧
let AeqC := Trans (Conjunct1 H1) (Conjunct2 H1)
in CongrH AeqC (Symm AeqC))
Set lean::pp::implicit false
SetOption lean::pp::implicit false
Show Environment 1

View file

@ -1,8 +1,8 @@
Show true /\ false
Set pp::unicode false
SetOption pp::unicode false
Show true /\ false
Set pp::unicode true
Set lean::pp::notation false
SetOption pp::unicode true
SetOption lean::pp::notation false
Show true /\ false
Set pp::unicode false
SetOption pp::unicode false
Show true /\ false

View file

@ -8,8 +8,8 @@ Variables i j : Int
Variables p q : Bool
Notation 100 _ ++ _ : f
Notation 100 _ ++ _ : g
Set pp::colors true
Set pp::width 300
SetOption pp::colors true
SetOption pp::width 300
]], env)
print(get_options())
assert(get_options():get{"pp", "colors"})

View file

@ -3,14 +3,14 @@ parse_lean_cmds([[
Variable N : Type
Variables x y : N
Variable f : N -> N -> N
Set pp::colors false
SetOption pp::colors false
]], env)
local f, x, y = Consts("f, x, y")
print(env:check_type(f(x, y)))
assert(env:check_type(f(x, y)) == Const("N"))
assert(not get_options():get{"pp", "colors"})
parse_lean_cmds([[
Set pp::colors true
SetOption pp::colors true
]], env)
assert(get_options():get{"pp", "colors"})
local o = get_options()
@ -18,7 +18,7 @@ o:update({"lean", "pp", "notation"}, false)
assert(not o:get{"lean", "pp", "notation"})
o = parse_lean_cmds([[
Check fun x : N, y
Set pp::notation true
SetOption pp::notation true
Check fun x : N, y
]], env, o)
print(o)