// Translation produced by rsltc Sun Oct 29 22:35:56 2006

#ifndef TravelImplicit_RSL
#define TravelImplicit_RSL

#include "RSL_typs.h"

typedef int Gate;

typedef RSL_string StationName;

typedef RSLList<int> RSL_lI;

typedef RSLProduct2<RSL_string, RSL_lI, RSL_constructor_fun> RSL_lCxlI;

typedef RSL_lCxlI Station;

typedef RSL_lCxlI Start;

typedef RSL_lCxlI Destination;

typedef int Hour;

//subtype predicate
extern bool RSL_is_Hour(const int h_779);

typedef int Minute;

//subtype predicate
extern bool RSL_is_Minute(const int m_7DF);

typedef int Second;

//subtype predicate
extern bool RSL_is_Second(const int s_843);

typedef RSLProduct3<int, int, int, RSL_constructor_fun> RSL_IxIxI;

typedef RSL_IxIxI Time;

typedef RSLProduct2<RSL_IxIxI, RSL_IxIxI, RSL_constructor_fun> RSL_6IxIxI9x6IxIxI9;

typedef RSL_6IxIxI9x6IxIxI9 TimeRange;

typedef RSL_IxIxI BoardingTime;

typedef RSL_IxIxI DepartureTime;

typedef RSLProduct5<RSL_lCxlI, RSL_lCxlI, int, RSL_IxIxI, RSL_IxIxI, RSL_constructor_fun> RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9;

typedef RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9 Travel;

typedef RSLSet<RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9> RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99;

typedef RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 TravelList;
extern int toSeconds(const RSL_IxIxI& RSL_Temp_0);
extern int compareTime(const RSL_IxIxI& t1_126B, const RSL_IxIxI& t2_126F);
extern bool isInTimeRange(const RSL_IxIxI& t_13FD, const RSL_6IxIxI9x6IxIxI9& RSL_Temp_2);
extern RSL_lI getStationGateList(const RSL_lCxlI& RSL_Temp_5);
extern RSL_string getStationName(const RSL_lCxlI& RSL_Temp_6);
extern RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9 newTravelStart(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& RSL_Temp_7, const RSL_lCxlI& newStart_1B1D);
extern RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9 newTravelDestination(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& RSL_Temp_9, const RSL_lCxlI& newDes_1D17);
extern RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9 newTravelGate(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& RSL_Temp_11, const int newGate_1EA0);
extern RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9 newTravelBoardingTime(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& RSL_Temp_13, const RSL_IxIxI& newBT_209C);
extern RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9 newTravelDepartureTime(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& RSL_Temp_16, const RSL_IxIxI& newDT_2291);
extern RSL_lCxlI getTravelStart(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& RSL_Temp_19);
extern RSL_lCxlI getTravelDestination(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& RSL_Temp_21);
extern int getTravelGate(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& RSL_Temp_23);
extern RSL_IxIxI getTravelBoardingTime(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& RSL_Temp_25);
extern RSL_IxIxI getTravelDepartureTime(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& RSL_Temp_27);

namespace RSL_Temp_30 {
// namespace for quantified expression
extern RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9 tr_2C37;
extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 trlist_2C3B;
extern bool RSL_Temp_31(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& x__0);

} // end of namespace RSL_Temp_30


namespace RSL_Temp_34 {
// namespace for quantified expression
extern RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9 tr_2C37;
extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 trlist_2C3B;
extern RSL_IxIxI dT_2C90;
extern RSL_IxIxI bT_2CF5;
extern bool RSL_Temp_35(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& t_2D5A);

} // end of namespace RSL_Temp_34

extern bool isTravelCorrect(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& tr_2C37, const RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99& trlist_2C3B);

namespace RSL_Temp_39 {
// namespace for quantified expression
extern RSL_lCxlI st_346A;
extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 trlist_346E;
extern bool RSL_Temp_40(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& x__0);

} // end of namespace RSL_Temp_39


typedef RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9 (* RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9f6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9)(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& );

namespace RSL_Temp_42 {
// namespace for comprehended set
extern RSL_lCxlI st_346A;
extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 trlist_346E;
extern bool RSL_Temp_43(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& tr_34C7);

} // end of namespace RSL_Temp_42

extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 getTravelsFrom(const RSL_lCxlI& st_346A, const RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99& trlist_346E);

namespace RSL_Temp_47 {
// namespace for quantified expression
extern RSL_lCxlI st_3672;
extern RSL_6IxIxI9x6IxIxI9 timeRange_3676;
extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 trlist_3681;
extern bool RSL_Temp_48(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& x__0);

} // end of namespace RSL_Temp_47


namespace RSL_Temp_51 {
// namespace for comprehended set
extern RSL_lCxlI st_3672;
extern RSL_6IxIxI9x6IxIxI9 timeRange_3676;
extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 trlist_3681;
extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 res_36B8;
extern bool RSL_Temp_52(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& tr_3720);

} // end of namespace RSL_Temp_51

extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 getTravelsInDepartureTimeRangeFrom(const RSL_lCxlI& st_3672, const RSL_6IxIxI9x6IxIxI9& timeRange_3676, const RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99& trlist_3681);

namespace RSL_Temp_55 {
// namespace for quantified expression
extern RSL_lCxlI des_397C;
extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 trlist_3981;
extern bool RSL_Temp_56(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& x__0);

} // end of namespace RSL_Temp_55


namespace RSL_Temp_58 {
// namespace for comprehended set
extern RSL_lCxlI des_397C;
extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 trlist_3981;
extern bool RSL_Temp_59(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& tr_39DB);

} // end of namespace RSL_Temp_58

extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 getTravelsTo(const RSL_lCxlI& des_397C, const RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99& trlist_3981);

namespace RSL_Temp_63 {
// namespace for quantified expression
extern RSL_lCxlI des_3B84;
extern RSL_6IxIxI9x6IxIxI9 timeRange_3B89;
extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 trlist_3B94;
extern bool RSL_Temp_64(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& x__0);

} // end of namespace RSL_Temp_63


namespace RSL_Temp_67 {
// namespace for comprehended set
extern RSL_lCxlI des_3B84;
extern RSL_6IxIxI9x6IxIxI9 timeRange_3B89;
extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 trlist_3B94;
extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 res_3BCC;
extern bool RSL_Temp_68(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& tr_3C34);

} // end of namespace RSL_Temp_67

extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 getTravelsInDepartureTimeRangeTo(const RSL_lCxlI& des_3B84, const RSL_6IxIxI9x6IxIxI9& timeRange_3B89, const RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99& trlist_3B94);

namespace RSL_Temp_71 {
// namespace for quantified expression
extern int g_3E34;
extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 trlist_3E37;
extern bool RSL_Temp_72(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& x__0);

} // end of namespace RSL_Temp_71


namespace RSL_Temp_74 {
// namespace for comprehended set
extern int g_3E34;
extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 trlist_3E37;
extern bool RSL_Temp_75(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& tr_3E8B);

} // end of namespace RSL_Temp_74

extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 getTravelsFromAGate(const int g_3E34, const RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99& trlist_3E37);

namespace RSL_Temp_78 {
// namespace for quantified expression
extern RSL_lCxlI st_4021;
extern RSL_lCxlI des_4025;
extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 trlist_402A;
extern bool RSL_Temp_79(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& x__0);

} // end of namespace RSL_Temp_78

extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 getTravelInfo(const RSL_lCxlI& st_4021, const RSL_lCxlI& des_4025, const RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99& trlist_402A);

namespace RSL_Temp_82 {
// namespace for quantified expression
extern RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9 tr_4340;
extern RSL_lCxlI newStart_4344;
extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 trlist_434E;
extern bool RSL_Temp_83(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& x__0);

} // end of namespace RSL_Temp_82

extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 replaceStart(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& tr_4340, const RSL_lCxlI& newStart_4344, const RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99& trlist_434E);

namespace RSL_Temp_87 {
// namespace for quantified expression
extern RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9 tr_459E;
extern RSL_lCxlI newDes_45A2;
extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 trlist_45AA;
extern bool RSL_Temp_88(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& x__0);

} // end of namespace RSL_Temp_87

extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 replaceDestination(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& tr_459E, const RSL_lCxlI& newDes_45A2, const RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99& trlist_45AA);

namespace RSL_Temp_92 {
// namespace for quantified expression
extern RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9 tr_47EF;
extern int newGate_47F3;
extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 trlist_47FC;
extern bool RSL_Temp_93(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& x__0);

} // end of namespace RSL_Temp_92

extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 replaceGate(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& tr_47EF, const int newGate_47F3, const RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99& trlist_47FC);

namespace RSL_Temp_97 {
// namespace for quantified expression
extern RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9 tr_4AB3;
extern RSL_IxIxI newBT_4AB7;
extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 trlist_4ABE;
extern bool RSL_Temp_98(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& x__0);

} // end of namespace RSL_Temp_97

extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 replaceBoardingTime(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& tr_4AB3, const RSL_IxIxI& newBT_4AB7, const RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99& trlist_4ABE);

namespace RSL_Temp_103 {
// namespace for quantified expression
extern RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9 tr_4D0C;
extern RSL_IxIxI newDT_4D10;
extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 trlist_4D17;
extern bool RSL_Temp_104(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& x__0);

} // end of namespace RSL_Temp_103

extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 replaceDepartureTime(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& tr_4D0C, const RSL_IxIxI& newDT_4D10, const RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99& trlist_4D17);

namespace RSL_Temp_110 {
// namespace for quantified expression
extern RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9 tr_4F5D;
extern RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9 newTravel_4F61;
extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 trlist_4F6C;
extern bool RSL_Temp_111(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& x__0);

} // end of namespace RSL_Temp_110

extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 replaceTravel(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& tr_4F5D, const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& newTravel_4F61, const RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99& trlist_4F6C);

namespace RSL_Temp_116 {
// namespace for quantified expression
extern RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9 tr_52DD;
extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 trlist_52E1;
extern bool RSL_Temp_117(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& x__0);

} // end of namespace RSL_Temp_116

extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 addTravel(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& tr_52DD, const RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99& trlist_52E1);

namespace RSL_Temp_121 {
// namespace for quantified expression
extern RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9 tr_54D4;
extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 trlist_54D8;
extern bool RSL_Temp_122(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& x__0);

} // end of namespace RSL_Temp_121

extern RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99 deleteTravel(const RSL_6lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI9& tr_54D4, const RSL_s66lCxlI9x6lCxlI9xIx6IxIxI9x6IxIxI99& trlist_54D8);

#endif //TravelImplicit_RSL
