In[]:=
wick[a_]:=a​​wick[a_,b_]:=pair[a,b]​​wick[a_,b__]:=If[Mod[Length[{b}],2]0,0,wick[b]+Sum[pair[a,{b}[[i]]]Delete[Unevaluated[wick[b]],i],{i,Length[{b}]}]]​​Format[pair[x_,y_]]:=〈xy〉;
In[]:=
rules=
B
a_
[q-

q
]
B
b_
[

q
]0,
B
a_
[p-

p
]
B
c_
[

p
]0,
B
a
[

k
]
B
b
[k-

k
]->0,
B
a_
[p]
B
b_
[k-p]->0,
B
c_
[-q]
B
d_
[q-

k
]->0;​​definitionsff=a->
B
a
[

k
],b->
B
b
[k-

k
],c->
B
c
[

p
],d->
B
d
[p-

p
];
In[]:=
fourfields=Expand[wick[a,b,c,d]]
Out[]=
〈ad〉〈bc〉+〈ac〉〈bd〉+〈ab〉〈cd〉
In[]:=
fourfields/.definitionsff/.rules
Out[]=

B
a
[

k
]
B
d
[p-

p
]
B
b
[k-

k
]
B
c
[

p
]+
B
a
[

k
]
B
c
[

p
]
B
b
[k-

k
]
B
d
[p-

p
]+
B
a
[

k
]
B
b
[k-

k
]〈
B
c
[

p
]
B
d
[p-

p
]〉
In[]:=
fourfieldscopy=〈ad〉〈bc〉+〈ac〉〈bd〉+〈ab〉〈cd〉
Out[]=
〈bc〉〈ad〉+〈ac〉〈bd〉+〈ab〉〈cd〉
In[]:=
fourfieldscopy/.definitionsff/.rules
Out[]=

B
b
[k-

k
]
B
c
[

p
]
B
a
[

k
]
B
d
[p-

p
]+
B
a
[

k
]
B
c
[

p
]
B
b
[k-

k
]
B
d
[p-

p
]