1 (* theory Test_Complex imports Isac begin
4 @{term "Complex 1 2 ^ Complex 3 4"};
6 Type unification failed: Clash of types "complex" and "nat"
7 Operator: op ^ (Complex 1 2) :: nat \<Rightarrow> complex
8 Operand: Complex 3 4 :: complex
11 theory Test_Complex imports Main begin
14 @{term "Complex 1 2"};
15 @{term "Complex 1 2 + Complex 3 4"};
16 @{term "Complex 1 2 * Complex 3 4"};
17 @{term "Complex 1 2 - Complex 3 4"};
18 @{term "Complex 1 2 / Complex 3 4"};
19 @{term "Complex 1 2 ^ Complex 3 4"};
22 val a = @{term "Complex 1 2"};
23 val b = @{term "Complex 3 4"};
24 (*a + (b::complex); ERROR: term + term*)
27 @{term "let a = Complex 1 2; b = Complex 3 4 in a + b"};
30 (*TODO rules for simplification*)