| Ast.Over (t1, t2) -> Ast.Over (k t1, k t2)
| Ast.Atop (t1, t2) -> Ast.Atop (k t1, k t2)
| Ast.Frac (t1, t2) -> Ast.Frac (k t1, k t2)
+ | Ast.InfRule (t1, t2, t3) -> Ast.InfRule (k t1, k t2, k t3)
| Ast.Sqrt t -> Ast.Sqrt (k t)
| Ast.Root (arg, index) -> Ast.Root (k arg, k index)
| Ast.Break -> Ast.Break
let aux = function
| Ast.NumVar s
| Ast.IdentVar s
- | Ast.TermVar s -> s
+ | Ast.TermVar (s,_) -> s
| _ -> assert false
in
List.map aux (variables_of_term t)
and aux_variable = function
| Ast.NumVar name -> add_name name
| Ast.IdentVar name -> add_name name
- | Ast.TermVar name -> add_name name
+ | Ast.TermVar (name,_) -> add_name name
| Ast.FreshVar _ -> ()
| Ast.Ascription _ -> assert false
and aux_magic = function