public String[] addInitNextForTE(List<SimpleTLCState> trace,TraceExpressionInformationHolder[] expressionData){
  String initId=getValidIdentifier(INIT_SCHEME);
  String nextId=getValidIdentifier(NEXT_SCHEME);
  addInitNextForTE(trace,expressionData,initId,nextId);
  return new String[]{initId,nextId};
}

public String [ ] addInitNextForTE ( List < SimpleTLCState > trace , TraceExpressionInformationHolder [ ] expressionData ) { String initId = getValidIdentifier ( INIT_SCHEME ) ; String nextId = getValidIdentifier ( NEXT_SCHEME ) ; addInitNextForTE ( trace , expressionData , initId , nextId ) ; return new String [ ] { initId , nextId } ; }
this will generate two identifiers equal to the initial and next state predicate for the trace . if expressiondata is not null , it should contain information about trace explorer expressions . this information is used to appropriately put the variables representing trace explorer expressions in the trace . in the following example , trace explorer expressions are used , but if expressiondata is null , those variables will not appear in the init and next definitions , but everything else will be the same . note : in the following example , the expressions expr1 , . . . , expr6 , texpr1 , texpr2 can take up multiple lines . consider the following trace : < initial predicate > < state num 1 > var1 = expr1 var2 = expr2 < action . . . > < state num 2 > var1 = expr3 var2 = expr4 < action . . . > < state num 3 > var1 = expr5 var2 = expr6 the user has defined two expressions in the trace explorer : texpr1 ( level 2 represented by var3 ) texpr2 ( level 1 represented by var4 ) this method defines the following identifiers : init_4123123123 = = var1 = ( expr1 ) / \ var2 = ( expr2 ) / \ var3 = ( " - - " ) / \ var4 = ( texpr2 ) next_12312312312 = = ( var1 = ( expr1 ) / \ var2 = ( expr2 ) / \ var1 ' = ( expr3 ) / \ var2 ' = ( expr4 ) / \ var3 ' = ( texpr1 ) / \ var4 ' = ( texpr2 ) ' ) \ / ( var1 = ( expr3 ) / \ var2 = ( expr4 ) / \ var1 ' = ( expr5 ) / \ var2 ' = ( expr6 ) / \ var3 ' = ( texpr1 ) / \ var4 ' = ( texpr2 ) ' ) if the last state is back to state i , then this method treats the trace as if it has the state labeled " back to state i " removed and replaced with a copy of state i . if the last state is stuttering , then this method treats the trace as if it has the state labeled " stuttering " removed and replaced with a copy of the state before the state labeled " stuttering " .
