**********************************
clear
input x1 x2 pro
1 2 0.3
1 3 0.25
2 1 0.61
2 3 0.51
end
gen id1=x1*10+x2
gen id2=x2*10+x1
list
gen id=id1
sort id
save d:\temp1.dta,replace
**********************************
drop id
gen id=id2
rename pro pro2
sort id
drop id1 id2 x1 x2
save d:\temp2.dta,replace
**********************************
use d:\temp1.dta,clear
drop id1 id2
merge 1:1 id using d:\temp2.dta
drop if _merge==2
bysort _merge: gen id0=_n
drop if id0>=2 & _merge==3
order x1 x2 id pro pro2
drop _merge id0
**********************************
tempfile f1 f2
save `f1',replace
rename (x1 x2 pro pro2)(x2 x1 pro2 pro )
save `f2',replace
use `f1',clear
merg 1:1 x1 x2 using `f2', update
keep if (_merg==4& x1<x2)|_merg==1
drop _merg