package mfl;

public class Value{
  public static Value Undefined = new Value();
  public Value and_op(Value x){return Undefined;}
  public Value append(Value x){return Undefined;}
  public java.lang.String as_string(){return "What???";}
  public boolean contains(Value x){return false;}
  public Value count_op(){return Undefined;}
  public Value divide_op(Value x){return Undefined;}
  public Value equal_op(Value x){return equals(x) ? mfl.Boolean.True : mfl.Boolean.False;}
  public boolean equals(Object x){return this == x;}
  public Value exponentiate_op(Value x){return Undefined;}
  public Value greater_than_op(Value x){return Undefined;}
  public Value greater_than_or_equal_op(Value x){return Undefined;}
  public Value in_op(Value x){return x.contains(this) ? mfl.Boolean.True : mfl.Boolean.False;}
  public Value index_op(Value x){return Undefined;}
  public Value index_op(Value x, Value y){return Undefined;}
  public Value ith_element(int i) {return Undefined;}  
  public Value less_than_op(Value x){return Undefined;}
  public Value less_than_or_equal_op(Value x){return Undefined;}
  public Value minus_op(Value x){return Undefined;}
  public Value multiply_op(Value x){return Undefined;}
  public Value not_equal_op(Value x){return equal_op(x).not_op();}
  public Value not_op(){return Undefined;}
  public Value op_update_element(Value I, Value v, java.lang.String op){return Undefined;}
  public Value or_op(Value x){return Undefined;}
  public Value plus_op(Value x){return Undefined;}
  public int size(){return 0;}
  public java.lang.String toString(){return "Undefined";}
  public Value unary_minus_op(){return Undefined;}
  public Value update_element(Value I, Value v){return this;}
}

