F#萌新进阶问题 这个怎么搞

函数式编程实现的会议安排问题

要求:对如下给出会议安排的程序和事实的伪代码,
1.定义词汇、程序、事实和Goal。
2.求解问题,得到一个可行的会议安排答案。
3.写出程序,得到全部答案。
4.用程序将结果生成措辞恰当的邮件正文,以能发送给相关的人。

// Scheduling a meeting
// schedule( TimeA, A1, A2;TimeB,Bl;B2):
// Time A and experts Al, A2 assigned to session on Artificial Intelligence,
// TimeB, Bl, B2 assigned to session on bioinformatics, and similar for databases

schedule( Ta, A1, A2, Tb, B1, B2) 
session(Ta, artificial_intelligence, A1, A2), // Session AI at time Ta, with experts Al and A2
session( Tb, bioinformatics, B1, B2),        // Bioinformatics at Tb, with experts Bl, B2
no_conflict( Ta, A1, A2, Tb, B1, B2),        // No conflict between AI and Bioinfo

//session(Time,Topic,P1,P2):
// session at Time on Topic attended by responsible experts PI, P2
session( Time, Topic, P1, P2) 
time(Time),
expert( Topic, P1),
expert( Topic, P2),
P1 ≠ P2.
// Time is morning or afternoon
// Person P1 is expert on Topic
// P2 is also expert on Topic
// P1, P2 different persons

// no_conflict(Timel,P1,P2, Time2, Ql, Q2):
// There is no time conflict between two sessions at Timel and Time2
// and experts P1, P2, and Ql, Q2, respectively
no_conflict( Time1, _, _, Time2, _, _) 
Time1 ≠ Time2.   // Two sessions at different times- not conflict
no_conflict( Time, P1, P2, Time, Ql, Q2) 
P1 ≠ Ql, P1≠ Q2, // Two sessions at the same time
P2 ≠ Q1, P2 ≠ Q2. // No overlap between experts

//Possible times of sessions
time( morning). 
time( afternoon).
// Experts for topics
expert( bioinformatics, barbara).
expert( artificial_intelligence, adam).
expert( artificial_intelligence, barbara).
expert( databases, danny).
expert( bioinformatics, ben).
expert( artificial_intelligence, ann).
expert(databases, adam)

https://blog.csdn.net/cacyth/article/details/52078473